回答編集履歴

1

追記

2020/05/10 11:51

投稿

otn
otn

スコア85901

test CHANGED
@@ -7,3 +7,27 @@
7
7
 
8
8
 
9
9
  ということで、ループの前に、`year=nil`とか書いておいて、ブロックで初出とならないようにします。
10
+
11
+
12
+
13
+ 逆に、ブロック外で同名の変数が使われているかどうかにかかわらず、ブロックローカル変数を使いたい場合は、
14
+
15
+ ```Ruby
16
+
17
+ foo=123
18
+
19
+ 3.times {|i ; foo| foo = i }
20
+
21
+ p foo #=> 123 ・・・ 外の変数には影響しない
22
+
23
+
24
+
25
+ foo=123
26
+
27
+ 3.times {|i| foo = i }
28
+
29
+ p foo #=> 2 ・・・外の変数を上書き
30
+
31
+ ```
32
+
33
+ のように、ブロック引数のところに`;`で区切って書きますので合わせて覚えておきましょう。