回答編集履歴
2
コード修正
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
ポイントが分かりやすいようコード修正
answer
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
インスタンスとはクラスから生み出したオブジェクトのこと。下のコードだと「Jun」や「Mike」
|
2
2
|
インスタンスメソッドとはインスタンスの参照から呼び出されるメソッドのこと
|
3
3
|
レシーバとは参照元のオブジェクトのこと。「Jun.greet」なら「Jun」がレシーバ
|
4
|
-
|
4
|
+
言いたかったのはselfを使えばレシーバのメンバにアクセスできるってことだと思います。
|
5
|
-
書かれ
|
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
|
```
|