1
我有一个数组引用($部分)在藏匿处。我试图取消这个并将其分配给一个JavaScript数组,但没有任何我尝试的作品。mojolicious分配一个数组到一个javascript变量
例如
%= javascript begin
var list = <%== $sections %>;
etc...
% end
导致列表等于ARRAY0x23456(这是正确的,因为$部分是一个REF)
%= javascript begin
var list = <%== @$sections %>;
etc...
% end
给数组长度列出(因为列表被处理,其是正确的作为标量分配)。
%= javascript begin
var list = <%== $sections %>.slice();
etc...
% end
给出了一个错误,因为$部分是裁判
%= javascript begin
var list = <%== @$sections %>.slice();
etc...
% end
可以说是最有可能的候选人,但解析[array.length] .slice()(例如3.slice()),并失败。
我该怎么做?
编辑; 我已经设法做到这一点,形成一个字符串与其中的数组值,然后创建我想从这个数组。
例如藏匿包含$字符串 字符串5,6,7,8的JavaScript中,我可以再做
array = [ <%= $string %> ];
我还是很想知道,如果有一种方法可以做到这一点使用中的数组引用藏。
谢谢,我不知道S“ - 这也是有用的。所以大括号只是将作业范围限制为$”? – mark 2014-12-28 21:25:06
@mark,'local'限制对周围范围的赋值,并在该范围退出时恢复旧值,并且周围范围由大括号分隔。当您更改perl的预定义全局变量时,使用'local'被认为是很好的做法。 – 7stud 2014-12-28 21:32:28