回答編集履歴

2

コメントを受けての追記

2019/01/08 01:43

投稿

otn
otn

スコア84555

test CHANGED
@@ -1,3 +1,63 @@
1
1
  `hoges`はローカル変数なので、そのメソッド外からは参照できません。
2
2
 
3
3
  メソッド外からアクセスしたいのなら、目的に応じて、インスタンス変数、クラス変数、グローバル変数のどれかにします。
4
+
5
+
6
+
7
+ #追記
8
+
9
+ ```Ruby
10
+
11
+ module A
12
+
13
+ class B
14
+
15
+ attr_reader :hoge1, :hoge2
16
+
17
+
18
+
19
+ def initialize(hoge1, hoge2)
20
+
21
+ @hoge1 = hoge1
22
+
23
+ @hoge2 = hoge2
24
+
25
+ end
26
+
27
+
28
+
29
+ def run
30
+
31
+ self.new("犬", "猫")
32
+
33
+ end
34
+
35
+ end
36
+
37
+ end
38
+
39
+
40
+
41
+ class Foo
42
+
43
+ def new
44
+
45
+ hoges = A::B.new("A","B")
46
+
47
+ p hoges
48
+
49
+ p hoges.hoge1
50
+
51
+ p hoges.hoge2
52
+
53
+ end
54
+
55
+ end
56
+
57
+
58
+
59
+ Foo.new.new
60
+
61
+ ```
62
+
63
+ で、ちゃんと表示されます。

1

タイプミス修正

2019/01/08 01:43

投稿

otn
otn

スコア84555

test CHANGED
@@ -1,3 +1,3 @@
1
- `hoge`はローカル変数なので、そのメソッド外からは参照できません。
1
+ `hoges`はローカル変数なので、そのメソッド外からは参照できません。
2
2
 
3
3
  メソッド外からアクセスしたいのなら、目的に応じて、インスタンス変数、クラス変数、グローバル変数のどれかにします。