質問編集履歴

1

回答をもらった上で新たな疑問が生まれた

2020/11/03 09:42

投稿

cake009
cake009

スコア9

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,79 @@
63
63
 
64
64
 
65
65
  ```
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+ 追記
76
+
77
+ ご回答ありがとうございます。
78
+
79
+ 新たに疑問が2つ生まれました。
80
+
81
+
82
+
83
+
84
+
85
+ ここの第一引数ですが、ハッシュですよね?
86
+
87
+
88
+
89
+ ```
90
+
91
+ (
92
+
93
+ email: 'sample@sample.com',
94
+
95
+ username: 'sample',
96
+
97
+ password: 'password',
98
+
99
+ password_confirmation: 'password'
100
+
101
+ )
102
+
103
+ ```
104
+
105
+ ①Rubyでは、引数リストの最後がHashの場合は、{}を省略することができる認識です。
106
+
107
+ 今回は第一引数なのになぜ省略できるのかが疑問です。
108
+
109
+
110
+
111
+ ②ブロック部分がcreateの第二引数になるということは、大きな()が省略されているということですよね。
112
+
113
+ カッコを省略せず書いた場合は、下記のようになるという認識で合っていますか?
114
+
115
+
116
+
117
+
118
+
119
+ ```
120
+
121
+ user = User.create(
122
+
123
+  ({
124
+
125
+  email: 'sample@sample.com',
126
+
127
+  username: 'sample',
128
+
129
+  password: 'password',
130
+
131
+  password_confirmation: 'password'
132
+
133
+  }) do | user |
134
+
135
+   puts "\"#{user.username}\" が作成されました"
136
+
137
+  end
138
+
139
+ )
140
+
141
+ ```