我正在开发一个 Lua 库,我需要在其中将给定字符串的第一个字母大写。因此,我创建了以下函数:
local capitalize = function(s)
return string.gsub (s,
"(%w)([%w]*)",
function (first, rest)
return string.upper(first) .. rest
end,
1 )
end
这最初是一个“内部”函数,仅在我的库中使用。
现在我意识到我的用户在某些情况下会想要使用这个功能。
问题 1 我正在考虑扩展字符串表,但不确定如何进行。这样做就足够了,还是有更“面向lua”的方式?
string.capitalize = function(s)
... etc etc (same code as above)
问题 2 我想知道猴子补丁字符串是否是个好主意。我应该提供一个公共的“大写”功能吗?
编辑 - 万一将来有人发现这个,字符串食谱页面上会显示一个更简单的“大写”功能:
str = str:gsub("^%l", string.upper)