特定の文字列の最初の文字を大文字にする必要があるLuaライブラリを開発しています。したがって、次の関数を作成しました。
local capitalize = function(s)
return string.gsub (s,
"(%w)([%w]*)",
function (first, rest)
return string.upper(first) .. rest
end,
1 )
end
これは当初、私のライブラリでのみ使用される「内部」関数でした。
これで、ユーザーがこの機能を使用したい場合があることに気付きました。
質問1 文字列テーブルを拡張することを考えていますが、どのように進めるかがわかりません。これを行うだけで十分ですか、それとももっと「ルア指向」の方法がありますか?
string.capitalize = function(s)
... etc etc (same code as above)
質問2 文字列をモンキーパッチするのもいいのではないかと思います。代わりに、パブリックな「資本化」機能を提供する必要がありますか?
編集-将来誰かがこれを見つけた場合に備えて、はるかに単純な「大文字化」機能が文字列レシピページに表示されます。
str = str:gsub("^%l", string.upper)