Loops 莎士比亚模板中的循环映射
莎士比亚的模板中有Loops 莎士比亚模板中的循环映射,loops,haskell,dictionary,yesod,Loops,Haskell,Dictionary,Yesod,莎士比亚的模板中有@forall可以迭代列表。假设我有一个Data.Map.Map格式的m=Map.fromList[(“key1”、“value1”),(“key2”、“value2”)]。我怎样才能产生输出 <li>key1 – value1</li> <li>key2 – value2</li> 键1–值1 键2–值2 我已经知道解决办法了 $forall (k,v) <- Map.toList m <li>#{
@forall
可以迭代列表。假设我有一个Data.Map.Map
格式的m=Map.fromList[(“key1”、“value1”),(“key2”、“value2”)]
。我怎样才能产生输出
<li>key1 – value1</li>
<li>key2 – value2</li>
键1–值1
键2–值2
我已经知道解决办法了
$forall (k,v) <- Map.toList m
<li>#{k} – #{v}
$forall(k,v)我会这样做的。您可以使用一些新类型的包装,但是我喜欢显式的Map.toList
。以前从未听说过“新类型包装”。它们是什么?这是一个很重要的话题。在这种情况下,newtypes是允许存在不同typeclass实例的特殊包装类型。在这种情况下,它将是一个新类型,因此映射的可折叠的实例将提供键和值,而不仅仅是值。但正如我所说,我更喜欢Map.toList
方法。haskell cafe或单独的问题是询问更多新类型细节的好地方。