如何使用JScript或JavaScript创建数组文字?

时间:2011-05-07 17:36:52

标签: javascript haskell package dsl

在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

1 个答案:

答案 0 :(得分:2)

这个问题是我第一次听说过HJscript。简要地看一下这些文档,我看不出任何方法可以创建一个像[1,2,3]这样的简单数组文字。但是,我确实看到了调用函数的方法,并注意到[1,2,3] = Array(1,2,3)。事实上,我敢打赌,口译员将前者视为后者的糖。因此,如果您可以调用函数,则可以构造文字。