在HJavaScript中有Array
type,但是我看不到构建一个文字的方法,例如,将其翻译为JS [1,2,3]
。如果我不需要,我不想创建new Array()
然后将项目推入其中。
理想情况下,我正在使用像array :: [t] -> Array t
这样的函数。
我可以使用JConst
来实现array
,但这似乎是一种应该直截了当的黑客攻击。我也可以使用上面的创建和推送方法来实现array
,但这也不是很好。
这是array
推;不太好。
array :: [Exp a] -> JS (JArray a)
array xs = do
arr <- new Array ()
mapM_ (`push` arr) xs
return arr
答案 0 :(得分:2)
这个问题是我第一次听说过HJscript。简要地看一下这些文档,我看不出任何方法可以创建一个像[1,2,3]
这样的简单数组文字。但是,我确实看到了调用函数的方法,并注意到[1,2,3] = Array(1,2,3)
。事实上,我敢打赌,口译员将前者视为后者的糖。因此,如果您可以调用函数,则可以构造文字。