0
我認爲有些東西我不明白julius中的拼接是如何工作的,沒有任何內置類型會拼接。我可以用代碼編譯的唯一方法是使用rawJS。Haskell/Julius模板 - 不能拼接變量
例如:
import Prelude.Unicode
import Text.Julius
import Text.Shakespeare -- not sure if this is needed
import Text.Shakespeare.Text -- not sure if this is needed
...
test = renderJavascript $ jsCode (⊥)
where
yval = rawJS $ show (3 ∷ Int) -- works
-- yval = show (3 ∷ Int) -- no instance of toJavascript
-- yval = 3 ∷ Int -- no instance of toJavascript
jsCode = [js|
var y = #{yval};
|]
FWIW我不使用耶索德,就在圖書館的朱利葉斯模板的一部分,但不應該在這裏不管我想。
如果我嘗試拼接詮釋本身,我得到一個錯誤,如:
No instance for (ToJavascript Int)
arising from a use of ‘toJavascript’
In the expression: toJavascript yval
In the first argument of ‘mconcat’, namely
‘[Javascript
((Data.Text.Internal.Builder.fromText . pack')
"\n\
\ var y = "),
toJavascript yval,
Javascript
((Data.Text.Internal.Builder.fromText . pack')
";\n\
\ ")]’
In the expression:
mconcat
[Javascript
((Data.Text.Internal.Builder.fromText . pack')
"\n\
\ var y = "),
toJavascript yval,
Javascript
((Data.Text.Internal.Builder.fromText . pack')
";\n\
\ ")]
你能包括你的進口嗎? - 它會加快分析問題 – ErikR
@ErikR增加了導入 – daj