《Lua 程序设计第二版》中写道,"......是右结合的。"

我不明白为什么你要提到字符串连接是“右结合”的。连接是结合的,所以我不明白Lua按照什么顺序评估它有什么关系。我错过了什么吗?

例如,a^(b^c) == (a^b)^c通常是不正确的,但a..(b..c) == (a..b)..c是正确的。我的意思是,假设如果您使用连接元方法处理不像连接的内容,那么它会很重要,但我不明白为什么有人想那样做。

点赞
用户734069
用户734069

你似乎已经回答了你自己的问题,但你的回答是以 "但我不明白为什么有人想这么做" 结尾的。

然而,你认为这个特性的适用情况并不重要。Lua 是一门编程语言。而程序员最喜欢的就是滥用语言中的某些特性,用于不被开发者预期的用途。

说它是右结合只是提供给读者信息。你对这个信息的使用是由你自己决定的。

2012-11-22 16:03:40
用户226086
用户226086

一些关于“关联性是从右至左”的信息可以在此处找到 http://lua-users.org/wiki/AssociativityOfConcatenation

但是它并没有完全解释那个“速度优化”是什么。我了解他或他们提出了串联链接,但这也可以使用从左到右的关联性来解决...

2015-03-19 19:21:31