1
如何使用地圖從列表中刪除特定元素(=多值屬性)?例如,假設我想篩選出所有的B在一個給定的名單:StringTemplate 3:如何過濾列表?
<["a", "b", "c", "b"]: {<table.(it)>}; separator=",">
table ::= ["b":, default: key]
期望的結果將是「A,C」,但實際的結果是「一個,, C,」
事情是地圖成功地將b變成了空值,但是它們被封裝在一個匿名模板中,併成爲非空值。所以它們也不會帶走strip()函數。
所以問題是,是否有可能通過稍微修改上面的代碼來使用地圖過濾列表?
更新
我已經找到了解決辦法:
filter(it) ::= "<if(it)><it><endif>"
<["a", "b", "c", "b"]: {<table.(it)>}: filter(); separator=",">
這給了我想要的結果:A,C
非常感謝和遲到的迴應。順便說一句,'ST處理虛假條件的句子同樣的方式:空不空'有時可能不是真的。請看看我上面更新的帖子。 –