是否可以将变量连接到自身?
@varA: "hello ";
@varB: "world";
@varA: "@{varA}@{varB}";
(输出“你好世界”)
我能够做到这一点,
@varA: "hello ";
@varB: "world";
@varC: "@{varA}@{varB}";
但是关于使用变量本身的一些事情似乎破坏了一切。这是一个更少的错误吗?
只是少装了试一下,确实,这是我得到的第一种方式
stack_overflowError: Maximum call stack size exceeded in <file>
1 @varB: "world";
实际上,将变量分配给自身会导致相同的错误。我查看了源代码,但不能确定是什么原因造成的(尽管由于错误的性质,我们可以很容易地猜到)。就文档而言,它提到变量是常量,但是经过一些测试,我发现您实际上可以定义一个与旧变量同名的新变量。所以:
@vA = "hi";
@vA = "hello";
实际上会起作用,并且当您稍后使用 vA 时,它将具有“hello”的值。如果您确实发现需要它,我建议您只使用一个临时变量。
只需保留@tmp 并在需要时使用它,只要您不尝试根据自身定义新的@tmp。
试试这个
@varA: hello;
@varB: world;
@varC: @varA@varB;
.test {
text: @varC;
}
编译时会导致这个
.test {
text: hello world;
}
或者试试这个:
@varA: hello;
@varB: world;
@varC: "@{varA} @{varB}";
.test {
text: @varC;
}
要得到这个:
.test {
text: "hello world";
}