重複の可能性:との割り当て
に違いはありますか?:key => "value"
key: "value"
ルビーの新しいハッシュを入力する
Railsコードを読んでいて、メソッドを呼び出すことができることがわかりました
foo(:var1 => 'hello', :var2 => 'world')
また
foo(var1: 'hello', var2: 'world')
どちらもまったく同じように機能するようです。違いはありますか?どちらがより良い習慣ですか?
重複の可能性:との割り当て
に違いはありますか?:key => "value"
key: "value"
ルビーの新しいハッシュを入力する
Railsコードを読んでいて、メソッドを呼び出すことができることがわかりました
foo(:var1 => 'hello', :var2 => 'world')
また
foo(var1: 'hello', var2: 'world')
どちらもまったく同じように機能するようです。違いはありますか?どちらがより良い習慣ですか?
それらは同じことを意味します。後者は、JavaScriptに触発された新しいRuby1.9構文です。Ruby 1.8との互換性を維持する必要がある場合は、前者を使用してください。そうでなければ、それは好みの問題です。
メソッド呼び出しでは、どちらもまったく同じように機能しますが、ハッシュを作成すると、違いが生じます
# in a method call
foo( :param => 'p' )
# mean the same thing
foo( param: 'p' )
# but in a Hash construction, they will have diferences
# here the key will always be a Symbol
hash = { symb: value }
# but here the key can be anything
hash = { 1 => "1" }
hash = { "1" => 1 }