編集:最初に CoffeeScript について言及されていたので、質問は構文と翻訳に関するものであると考えていました。目的については、Peter Bloom の回答を参照してください。
正確には何を:null => false
意味するのかわかりません。
演算子は、Rubyの=>
キーと値の区切り記号でHash
あり、:null
キーを に設定してを定義しfalse
ます。これは、CoffeeScript/JavaScript:
のリテラルの -- に似ています。Object
{ null: false }
引数リストで使用すると、Ruby で名前付き引数を許可/模倣するための 1 つのオプションになります。
その他の主な違いは、CoffeeScript/JavaScript ではString
キーに s を使用するのに対し、Ruby では通常シンボル( "null"
cs/js) と:null
(rb) を使用することです。
したがって、CoffeeScript で同等の構文は次のようになります。
x.datetime "new", null: false
x.datetime "update", null: false
JavaScript では、次のようになります。
x.datetime("new", { null: false });
x.datetime("update", { null: false });