2017-08-10 15 views
0

私は条件文とHoplonに関する質問があります。私がしようとすると:HoponでClojurescriptの条件文が正しく動作しない

(defn mouse-enter 
    [temp stuff] 
    (reset! temp @stuff) 
    (if (= "y" "y") 
     (reset! mon-width {:width "0%"}))) 

をそれは私がどのような方法でセルを使用してみた場合、動作するようには思えない、0にCSSのwidthプロパティを変更しますが、。 IE。

(def week-view (cell "y")) 
(def mon-width (cell {:width "50.333%"})) 

(defn mouse-enter 
    [temp stuff] 
    (reset! temp @stuff) 
    (if (= "y" (cell= week-view)) 
     (reset! mon-width {:width "0%"}))) 

または:

(defn mouse-enter 
    [temp stuff] 
    (reset! temp @stuff) 
    (if (= "y" (str (cell= week-view))) 
     (reset! mon-width {:width "0%"}))) 

または:

(defn mouse-enter 
    [temp stuff] 
    (reset! temp @stuff) 
    (when (= "y" (str (cell= week-view))) 
     (reset! mon-width {:width "0%"}))) 

または:

(defn mouse-enter 
    [temp stuff] 
    (reset! temp @stuff) 
    (when (= (cell= "y") (cell= week-view)) 
     (reset! mon-width {:width "0%"}))) 

そして、この1つは週ビューの値が変更されているにもかかわらず動作します。

(def week-view (cell "n")) 
(def mon-width (cell {:width "50.333%"})) 

(defn mouse-enter 
    [temp stuff] 
    (reset! temp @stuff) 
    (when (= (str (cell= "y")) (str (cell= week-view))) 
     (reset! mon-width {:width "0%"}))) 

私は本当に何が起こっているか知らないが、「週間ビュー」が「Y」に設定されているとき、私はちょうどアクティブな真の条件を取得しようとしています。私はブーリアンを試してみましたが、それはうまくいかず、他のものもたくさんありました。

乾杯、 マット

答えて

1

私はそれを考え出したと思います。 @記号を使用してセルの値を取得できます。ここで動作する新しいコードです。

(def week-view (cell nil)) 
(def mon-width (cell {:width "8.333%"})) 

(defn mouse-enter 
    [temp stuff] 
    (reset! temp @stuff) 
    (when (= nil @week-view) 
     (reset! mon-width {:width "30%"}))) 

乾杯、 マット

+0

あなたもリセット '両方のラップ検討することができる!' 'dosync'に呼び出します。これにより、リセットが1つの「トランザクション」としてまとめて行われます。今は必ずしもバグを修正するわけではありませんが、あなたのコードを後で考えやすくするでしょう。 –

関連する問題