2011-10-24 7 views
1

のCoffeeScriptは今に次のコードのCoffeeScriptは

$ -> 
    $("#debug").val "hey" 
    for i in [0..3] 
     m = new Message(5,5) 
     text = "<div>#{m.message[m.message_id]}</div>" 
     $("body").append(text) 

をコンパイルされた関数スコープの外にインデントコードをコンパイルし続けます。ここで何が起こっているのですか?私のインデント方法に何が問題なのですか?

答えて

3

ここではわかりやすいように、インデント用にタブとスペースを混在させています。

$ -> 
    $("#debug").val "hey" 
<tab>for i in [0..3] 
     m = new Message(5,5) 
     text = "<div>#{m.message[m.message_id]}</div>" 
     $("body").append(text) 

そして、あなたが見ている出力を得るでしょうし、あなたのタブストップが4に設定されている場合、あなたの目は勝った:あなたのCoffeeScriptはこの(もちろん<tab>の1つのタブ文字である場合には、)の場合告知しない。

+0

+1ほとんどの場合、これが問題になります。 CoffeeScriptでは、タブをスペースに変換するエディタを使用するか、少なくとも「不可視」の表示モードに設定する必要があります。 – Thilo

+0

@Thilo:Pythonや他の重要な空白言語と同じエディタ "規則"。 –

+1

メイクファイルの日に戻ってきます。 OTOH、それは私にタブを探すよう教えてくれました。そしてそれらを憎む。 –