Lua 2nd ed中的编程说".. is right associative"



我不明白你为什么会提到字符串连接是"右关联"。串联是关联的,所以我看不出 Lua 评估它的顺序有什么关系。我错过了什么吗?

例如 a^(b^c) == (a^b)^c通常不是正确的,但a..(b..c) == (a..b)..c是正确的。我的意思是假设如果你将 concat 元方法用于行为不像连接的东西,那会很重要,但我不明白为什么有人想这样做。

你似乎已经回答了你自己的问题,只是你以but I don't see why anyone would want to do that.

认为该功能的适当使用并不重要。Lua是一种编程语言。没有什么比滥用语言中的功能来做一些无意的事情更让程序员喜欢的了。

说它是正确的联想只是向读者提供信息。如何处理这些信息取决于您。

关于为什么..关联性是右2左的一些信息在这里 http://lua-users.org/wiki/AssociativityOfConcatenation

不过,它并没有完全解释"速度优化"是什么。我知道他/他们带有连接链,但这也可以与从左到右的关联性一起使用......

最新更新