是否可以將變量連接到它自己?在LESS中附加變量本身
@varA: "hello ";
@varB: "world";
@varA: "@{varA}@{varB}";
(輸出的 「Hello World」)
我能夠做到這一點,
@varA: "hello ";
@varB: "world";
@varC: "@{varA}@{varB}";
但一些有關自己使用的變量似乎打破一切。這是一個小錯誤?
是否可以將變量連接到它自己?在LESS中附加變量本身
@varA: "hello ";
@varB: "world";
@varA: "@{varA}@{varB}";
(輸出的 「Hello World」)
我能夠做到這一點,
@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: @[email protected];
.test {
text: @varC;
}
編譯
.test {
text: hello world;
}
時或者嘗試這一點,導致了這一點:
@varA: hello;
@varB: world;
@varC: "@{varA} @{varB}";
.test {
text: @varC;
}
爲了得到這個:
.test {
text: "hello world";
}
你有沒有注意到我的答案?你投了你的票,但這是不正確的,你可能會考慮投票,以便其他人知道這是可能的(並且在1.3中,你只是有錯誤的語法)。 – jonschlinkert
您是否注意到我的問題?我在後半部分明確指出,我不打算按照你的建議做答案。我想附加一個變量*給自己*。我認爲我的問題很明確地說明了這一點。 –
也許你需要澄清你的實際(第一)SO問題,這是「可以連接一個變量本身?」答案是肯定的。然後你說:「但是,有關使用變量本身似乎打破了一切」這是一個聲明,我甚至不知道你的意思。實現問題中所陳述的內容我沒有任何問題。所以你想讓我專注於你的第二個問題,「這是一個很小的錯誤嗎?」。因爲答案是「不」。而你的語法不正確。 – jonschlinkert