【问题标题】:String.format and gsub in LuaLua 中的 String.format 和 gsub
【发布时间】:2014-04-08 11:40:38
【问题描述】:
function string:split(sep)    
 local sep, fields = sep or ":", {}   
local pattern = string.format("([^%s]+)", sep)    
 self:gsub(pattern,function (c)fields[#fields + 1] = c end)
 print(c)
return fields
   end

我有上面的代码块。

  1. string.format 函数将分隔符作为其第二个参数。这是为什么?我们通常将文本块作为需要格式化的第二个参数。

  2. gsub 函数通常替换给定的模式。 function(c)gsub 中的角色是什么?它是如何在这里调用和使用的? c 来自function(c) 哪里?

【问题讨论】:

    标签: string lua gsub string.format lua-patterns


    【解决方案1】:
    1. 在示例代码中,string.format() 的格式说明符是"([^%s]+)",其中%s 需要一个字符串,因此第二个参数sep 是一个字符串。

      例如,如果sep 的值为",",则pattern 变为([^,]+)(出现一次或多次非逗号),这意味着函数string:split 正在用逗号( ,)

    2. string.gsub() 可以将三种类型作为第二个参数,字符串、函数或表。当它是一个函数时,每次匹配时都会调用它,所有捕获的子字符串按顺序作为参数传递。详情请见string.gsub()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 2019-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多