teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コード修正

2015/09/02 05:54

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -21,8 +21,10 @@
21
21
  Mike = HelloWorld.new
22
22
  Mike.my_name("Mike")
23
23
 
24
+ puts Mike.name
25
+ #出力結果 => Mike
24
26
  Mike.greet
25
- #出力結果 => Hi, My name is Mike
27
+ #出力結果 => Hi, My name is Mike
26
28
  Jun.greet
27
- #出力結果 => Hi, My name is Jun
29
+ #出力結果 => Hi, My name is Jun
28
30
  ```

1

ポイントが分かりやすいようコード修正

2015/09/02 05:54

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -1,8 +1,8 @@
1
1
  インスタンスとはクラスから生み出したオブジェクトのこと。下のコードだと「Jun」や「Mike」
2
2
  インスタンスメソッドとはインスタンスの参照から呼び出されるメソッドのこと
3
3
  レシーバとは参照元のオブジェクトのこと。「Jun.greet」なら「Jun」がレシーバ
4
- コードで検証したことselfを使えばレシーバのメンバにアクセスできるってことだと思います。
4
+ たかったのはselfを使えばレシーバのメンバにアクセスできるってことだと思います。
5
- 書かれているコードでは「hello.test_name」が実行されていないので、「name」が空のままです。
5
+ 書かれコードでは「hello.test_name」が実行されていないので、「name」が空のままです。
6
6
  ```Ruby
7
7
  class HelloWorld
8
8
  attr_accessor :name
@@ -18,11 +18,11 @@
18
18
 
19
19
  Jun = HelloWorld.new
20
20
  Jun.my_name("Jun")
21
- Jun.greet
22
- #出力結果 => Hi, My name is Jun
23
-
24
21
  Mike = HelloWorld.new
25
22
  Mike.my_name("Mike")
23
+
26
24
  Mike.greet
27
25
  #出力結果 => Hi, My name is Mike
26
+ Jun.greet
27
+ #出力結果 => Hi, My name is Jun
28
28
  ```