2012-01-19 7 views
2

エコテンプレートエンジンでCoffeescript switchブロックを使用できますか?私はいくつかのバリエーションを試しましたが、私はunexpected dedentエラーを受け続けます。私は多少よく知っているecoでCoffeescriptの `switch`ブロックを使用できますか?

+0

最後にコロンがあり、一致するのは<%end%>です。どんなパターンがうまくいくのですか? – Thilo

答えて

2

ECOテンプレートはswitch文をサポートするためには表示されません。

あなたのコードの生成のCoffeeScriptのコードは次のとおりです。

​​3210

switch x後2本の__out.push '\n'ラインと第二when文の最後には、このCoffeeScriptのスニペットではJavaScriptにコンパイルすることができていないように見えます。

コードを調べると、これらの行が印刷されないようにする方法を理解できませんでした。これは、ecoという人に報告するのは良いバグかもしれません。

+0

現在、エコは実際には 'switch'をサポートしていないようです。私はバグレポートを提出します。 https://github.com/sstephenson/eco/issues/38 – Thilo

0

更新:ここで、downvotersをなだめるためには、私は

<% switch x : %> 
<% when 1 : %> 
    one 
<% end %> 
<% when 2 : %> 
    two 
<% end %> 
<% end %> 

に動作するように期待したものである。しかし、私は、「予期しないDEDENT 5行目でエラーを解析」を取得しますエコでは、それはちょうどその式から正しいCSを作成していないように見えます。 CSがwhen x then yを使用していることを考えると、私はあなたがそれをコンパイルしているかどうかは確かではありません。

あなたは代わりに、これを試みることができる:

<% switch x : %> 
    <% when 1 then: %> 
     one 
    <% end %> 
    <% when 2 then: %> 
     two 
    <% end %> 
<% end %> 
関連する問題