回答編集履歴

2

デフォルト設定について追記

2016/10/18 15:38

投稿

cameluby
cameluby

スコア891

test CHANGED
@@ -30,6 +30,32 @@
30
30
 
31
31
 
32
32
 
33
+ ブロックを渡すと処理を行いデフォルト値をセットすることもできます
34
+
35
+ ```ruby
36
+
37
+ hash = Hash.new do |hsh, key|
38
+
39
+ hsh[key] = key.upcase
40
+
41
+ end
42
+
43
+
44
+
45
+ hash['a']
46
+
47
+ hash['b']
48
+
49
+ p hash
50
+
51
+ #=> {"a"=>"A", "b"=>2}
52
+
53
+ ```
54
+
55
+
56
+
57
+
58
+
33
59
  余談ですが、`{}`の方で定義した際にも、`default=`メソッドを使用することで、あとからデフォルト値を設定することもできます。
34
60
 
35
61
  ```

1

余談追加

2016/10/18 15:38

投稿

cameluby
cameluby

スコア891

test CHANGED
@@ -27,3 +27,25 @@
27
27
  #=> nil
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ 余談ですが、`{}`の方で定義した際にも、`default=`メソッドを使用することで、あとからデフォルト値を設定することもできます。
34
+
35
+ ```
36
+
37
+ a = {}
38
+
39
+ a[:a]
40
+
41
+ #=> nil
42
+
43
+ a.default = "test"
44
+
45
+ a[:a]
46
+
47
+ #=> "test"
48
+
49
+ ```
50
+
51
+