【问题标题】:Is there an equivalent of string multiplication in Lua? Eg: "o"*3Lua中是否有等效的字符串乘法?例如:“o”*3
【发布时间】:2021-03-03 00:09:32
【问题描述】:

在 Lua 中,python 中是否有与以下代码等效的代码?

print('o'*3)  #=> "ooo"

Lua 等价物是...?

【问题讨论】:

    标签: lua


    【解决方案1】:
    string.rep('o', 3)
    

    或者:

    local my_string = 'o'
    my_string:rep(3)
    

    或者:

    ('o'):rep(3)
    

    (使用此语法时,'o' 等文字表达式必须放在括号中。'o':rep(3) 是无效语法)

    【讨论】:

    • 哦,我明白了。这回答了我的问题。非常感谢! (也需要额外的说明:D)
    • 根据 Lua 版本,字符串被元表化,__index 元方法被所有字符串函数填充。您可以通过以下方式查看它们:do for k,v in pairs(getmetatable(_VERSION).__index) do print(k,'=',v) end end 这就是为什么@user253751 最后两个示例与: 一起使用的原因@
    • 也看看这个:_VERSION:gsub('%a',{u='\85\85\85',a='\65\65\65'})
    • @koyaanisqatsi 你也可以只看string 因为(IIRC)__index string
    • 是的 - 因此我喜欢为表做 __index 表表表:setmetatable(arg,{__index=table}) 然后这适用于 arg:arg:concat(' ',0) -0 表示:从键 0 开始不是1
    猜你喜欢
    • 2012-01-22
    • 2016-04-25
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2014-05-20
    相关资源
    最近更新 更多