0

我正在尝试使用lua 模块中的split方法。string_ext但我收到以下错误:

E:\apps\Lua\5.1\lua\string_ext.lua:261: attempt to index global 'list' (a nil va
lue)
stack traceback:
        E:\apps\Lua\5.1\lua\string_ext.lua:261: in function 'split'
        stdin:1: in main chunk
        [C]: ?

我的代码是

require("string_ext")
print(string.split("An-example-string", "-"))

谢谢。

4

2 回答 2

2

code.google.comstring_ext上的代码,函数如下所示:split

function split (sep, s)
  local pairs = list.concat ({0}, list.flatten (finds (s, sep)), {0})
  local l = {}
  for i = 1, #pairs, 2 do
    table.insert (l, sub (s, pairs[i] + 1, pairs[i + 1] - 1))
  end
  return l
end

list他们使用的模块也可以在这里找到

于 2013-05-27T04:53:29.517 回答
1

谢谢大家的回复。我发现中的split方法string_ext需要模块liststrbuf. 导入它们可以解决问题。但这似乎很愚蠢。库函数不应该导入它用来使其自包含的模块,而不是让库的用户导入库使用的必要模块吗?

于 2013-05-27T05:36:24.157 回答