2016-04-04 10 views
1

私はこの手段かしら演算子は何ですか=意味ですか?

- @variable1 ?= @object1.element[0] 

様線有する(HAML +インラインのCoffeeScriptとしても知られる)hamlc有する:@object1.element[0]が値を有する場合、@variable1内部に格納します。

hamlcに関する情報が見つかりませんでした。また、私が理解していることが正しければ、else条件を追加したいのですが?

+0

' - 変数1 場合= "//何かをする場合は、" あなたの答えをありがとう – 7urkm3n

+0

ラインに他の = "//何かを行う"' breake。 @ 7urkm3n – Takumi

+0

また、これはうまくいくはずです: '@ variable1 = @object? ? @ object1.element [0]: 'EMPTRY @ object'' – 7urkm3n

答えて

2

?=演算子はCoffeeScriptのexistential operatorとして知られています。ドキュメントから

これはJavaScriptで変数の存在を確認するために少し難しいです。 if(variable)...は近づいてきますが、ゼロ、空の文字列、およびfalseに失敗します。 CoffeeScriptの実在の演算子ですか?変数がnullまたはundefinedでない限り、trueを返します。これはRubyのnilに似ていますか?

@variable1 ?= @object1.element[0] 

@variable1nullまたはundefinedであれば、それに@object1.element[0]を割り当てる:あなたの例を使用して、それが動作する方法があることを意味

「else」の条件を追加したい場合はどうすればよいですか?

@variable1 = 
    if @variable1? 
    @object1.element[0] 
    else 
    # your else clause here 
+0

非常に明確な答えです。どうもありがとうございます!! – Takumi

+0

実際には、 '... = @ variable1? @ object1.element [0] ' – Markus

関連する問題