学習中にRubyときどき "=>"演算子に出くわします。通常、
:symbol => value
そしてseems関数に値を渡すときに頻繁に使用されます。その演算子は正確には何と呼ばれていますか?それは何をしますか/意味しますか? Rubyに組み込まれていますか、それともRailsやDataMapperなどの異なるフレームワークがシンボルクラスに追加するものですか?シンボルクラスと組み合わせてのみ使用されますか? ?ありがとう。
_=>
_は、キーをハッシュマップリテラルの値から分離します。オーバーロード可能ではなく、シンボルに特に接続されていません。
ハッシュマップリテラルの形式は_{key1 => value1, key2 => value2, ...}
_ですが、関数の最後のパラメーターとして使用する場合は、中括弧を省略できます。したがって、f(:a => 1, :b => 2)
のような関数呼び出しを確認すると、f
が1つの引数で呼び出されます。これは、キー_:a
_および_:b
_と値を持つハッシュマップです_1
_および_2
_。
この演算子が「ハッシュロケット」と呼ばれるのを聞くかもしれません。つまり、Rubyハッシュを定義するときに使用することを意味します。
これはRuby慣れていない場合のハッシュのドキュメントです: http://www.Ruby-doc.org/core/classes/Hash.html
Ruby 1.9では、記号をキーとして使用するハッシュを定義している場合、代わりに利用可能な代替構文があります: http://blog.peepcode.com/tutorials/2011/rip-Ruby-hash-rocket-syntax
ヒント:{:a => "A", :b => "B"}
のようなハッシュで使用している場合、Ruby 1.9では、JSONハッシュのように使用できます。
{
a: "A",
b: "B"
}
さらにグーグル操作を行う場合、=>
はロケットのように見え(<=>
は宇宙船のように見える)、ハッシュで使用されるため、ハッシュロケットと呼ばれることがあります。
または、 SymbolHound を使用することもできます。
In Ruby "=>"は何を意味し、どのように機能するか)に加えて :
あなたはほとんど=>
関数のパラメーターを定義します。これは便利な機能だと考えてください。すべてのパラメーターは巨大なハッシュにラップされるため、パラメーターの正しい順序を覚えておく必要はありません。したがって、次のような単純なヘルパーメソッドがある場合
link_to "My link", my_path, :confirm => "Are you sure?"
これはより良いです
link_to "My link", my_path, null, null, null, null, "Are you sure?"
めったに使用されないパラメーターを使用したいという理由だけで。したがって、ハッシュを使用してパラメーターを渡すことは、Ruby/Railsでの慣例にすぎません。