我有一个像第一部分的字符串;第二部分.我想把它分开;并返回第二部分.一切正常: start = mystring:find(';')result = mystring:sub(start) 但我希望能在一条线上做到这一点: result = mystring:sub(myst
start = mystring:find(';') result = mystring:sub(start)
但我希望能在一条线上做到这一点:
result = mystring:sub(mystring:find(';'))
它不会抛出错误,但它不会返回预期的结果.这不是一个大问题,因为它在两行代码上工作正常,但理解为什么它不在oneliner上工作将帮助我更好地理解lua如何工作.
这也有效:result = mystring:sub((mystring:find(';')))
额外的括号确保只使用一个参数调用sub,因此它将使用第二个参数的默认值(mystring的结尾).