rubyのselfは何が言いたいのかわからない。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。登録してこのコミュニティに参加するどなたでも質問していただけますどなたでも回答していただけます最もよい回答には賛成票が入り、最上位に上がりますホーム質問タグユーザーrubyのselfは何が言いたいのかわからない。3,186件11selfはメソッドの中で呼び出すと、メソッドを実行している、インスタンス自身となり、それはtomになります。tomのことをレシーバーといいます。tomにはUser.new('tom')というインスタンスが代入されいて、最終的にはselfはUser.newを指していることだと思います。@name="tom"インスタンス変数を自動的に見ている。1.の結果からselfはオブジェクトを見ている。票0tomにはUser.new('tom')というインスタンスが代入されいて、最終的にはselfはUser.newを指していることだと思います。User.newを指すというか、User.newによって生成されたオブジェクトを指します。このオブジェクトはnewの引数として"tom"を渡しており、結果initializeメソッドに"tom"が渡ります。逆にないと、常に記憶喪失な人に「お前はトムだが挨拶しろ」みたいになって不便だと思いますself.nameじゃなくて@nameでいいのでは?というのなら例が悪いかなと思います。した時にローカル変数なのかアクセッサの呼び出しなのか分からずに、ローカル変数への代入として処理されるRubyの仕様があるので個人的にはselfの省略は好きではないです。個の銅バッジ回答ありがとうございます。user_tom.eq?(user_tom)でなぜobjがtomになっているのかわかりませんでした。selfは単にレシーバーを参照しているだけでそれ以上に深い意味はないものと認識しておこうと思います。どちらかというとnameメソッドのほうが重要だと思いました。11:26selfはなぜこれを使うのか?という疑問があるかぎり、ずっと解決しないとかんじました。selfはメソッド内で使うためと認識しておこうと思いますが、おそらく自分はまだ全然修行がたりないですね。オブジェクト指向プログラミング言語です。関数は実は存在していなくって、ありとあらゆる関数っぽいものは、実は何かしらのメソッドです。メソッドのロジックをdefなどで記述している段階では、なので必ず暗黙的に今そのメソッドを実行しようとしているオブジェクトというものが想定できるはずです。呼ぶんだな、と判断します。クラスのプライベートメソッドです。メタプログラミング的な何かです。vendとざっくり等価です。メソッドが呼びだされ、その中でインスタンス変数が読み込まれ、返り値として取得されます。省略した形式でも呼び出すことができます。形式で記述する必要があります。個の銅バッジコメントありがとうございます。これから書くことは不愉快に思われるかもしれませんが、この回答に書いてあることは書籍にもそれらしきことは書いてあります。いう動きをするのかはわかったけども、それ以上の理解は進まないという感じです。努力が足りないですね。スタックオーバーフローでは、その性質上、質問を行えるぐらいには自分の中で対象ドメインについて知っていた方が良い、という構造があります。読んで見るのがいいかもしれないです。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。SplatとRubyの他の機能との違いについて0railsで検索フォームを作っていたのですが、UrlGenerationErrorが出て、躓いております。1Rubyのselfについて0google-api-clientでカレンダーを取得したいのですが、認証は成功しているものの、data.itemsが取得できません。0after_initializeが先に実行されることにより、joinsやincludesを使ったn+1問題が解消されません。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。