既存のモジュールを使用してhtmlテンプレートにリストを入力しようとしています
@{Nav.list.map( l =>
l.id match {
case "Art" => { <li id="art"><span>Articles</span></li> }
case "Due" => { <li id="toggle"><a href="javascript:void(0)" title="Links"><span>Links</span></a>
<div id="drawer">
<div id="drawerContent" style="display:none;">
<ul>
<li><a href="#" title="link hover"><span>link title 2</span></a></li>
<li><a href="#" title="link hover"><span>link title 3</span></a></li>
<li><a href="#" title="link hover"><span>link title 4</span></a></li>
</ul>
</div>
</div>
</li> }
case _ => { <li id="@l.id"><a href="@l.href" title="@l.title"><span>@l.title</span></a></li> }
} )}
@は最後のケースのエスケープ文字として機能せず、代わりに@ l.idなどとして解析されます。私は元々、非常に冗長な括弧を含むネストされたif elseステートメントでこれを実行しましたが、機能しましたが、目にはあまり良くありませんでした。フォーマッターはネストされたscala構造に問題がありますが、よくわかりません。
mapの代わりにforを使用して、match構文を囲んでエスケープしようとしましたが、コンパイルされますが、問題はまだ残っています