2016-06-22 4 views
1

coffeescriptでname = a ? "bear"を実行できます。あなたはRubyでこれをどうやってすることができますか? aは、代わりに("bear"nameに割り当て、undefined又はnullである場合、換言すればCoffeescriptに相当するRuby簡略化された `if`演算子の短縮バージョン

name = typeof a !== "undefined" && a !== null ? a : "bear" 

のCoffeeScript(V1.10)を認識していないものについて

は、ステートメントは、上記のように、JavaScriptに変換さブールornameaを割り当てる)

+1

、あなたは何を説明する気になり"Rubyに相当する"とされていますか? –

+0

説明が更新されました。いいね? – Aurimas

答えて

3

name = a || "bear" 

正確には、以下が、完全に同等(ルビーにはundefinedはありません)です:全体のCoffeeScript言語仕様は覚えていない私たちにとって

name = a.nil? ? 'bear' : a 
+0

私はこれを受け入れる必要があると思いますが、私が実際に必要とするのは、Javascript Boolean 'または'に相当するRubyです。つまり、何かを返すには '(0 ||" something ")'が必要ですが、代わりに '0'が返されます。私が推測する間違った質問にお答えしました:) – Aurimas

+1

@Aurimas note '0? CoffeeScriptの「何か」も '0'を返します。これはJavaScriptの' || ' – Stefan

+0

数字とは全く異なりますが、全く間違った質問ですが、他の人にとってはおそらく役に立ちます。あなたが私の新しい質問に対する答えを知っていれば、手際よく説明してください。私は新しい質問をするために90分待たなければなりません。 – Aurimas

関連する問題