8

したがって、Rails を学習しようとしていて、中括弧を REQUIRE ではなく、時々使用する Ruby の緩い許容範囲と、それぞれをいつ/どこで使用するか、およびその理由は?

パラメーターまたは値が次のように渡される場合もあれば、(@user, @comment)そうであるように見える場合もあれば、次[ :user => comment ]のように渡される場合もあります。:action => 'edit'

私は[ ]( ){ }の私たちについて話している

ルールは何ですか?覚えるのに役立つトリックはありますか?

4

1 に答える 1

22

括弧()は、論理式または数式をグループ化し、引数を関数呼び出しにグループ化するためのものです。たとえば、次のようになります。

a = 2 * (3 + 4)
b = (x==y) || (m==n)
Hash.new.send('[]=', :a, :b)

中括弧{}は、ハッシュ リテラルとブロックに使用されます。次に例を示します。

h = {1=>2, 2=>3}
h.each {|k,v| puts k+v}

角括弧[]は、配列リテラル、配列のインデックス付けとスライス、およびハッシュからのフェッチに使用されます。次に例を示します。

arr = [1, 2, 3]
two = arr[1]
three = h[2]

問題を混乱させるために、最後の引数である限り、中括弧や括弧を必要とせずに、ハッシュリテラルをメソッド呼び出しの引数としてインプレースで使用することもできます (thanks samuil)。さらに、ハッシュ リテラルを角括弧内で使用して、ハッシュを含む単一項目の配列を作成できます。

puts 1=>2, 3=>4 #=> 1234
[5=>6, 7=>8]    #=> [{5=>6, 7=>8}]

疑わしい場合は、常に括弧を使用して項目をグループ化し、ハッシュを中括弧で囲みます。

于 2010-07-23T23:55:00.547 に答える