我正在開發一個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 我不知道是否是連猴補丁串個好主意。我應該提供一個公共的「大寫」功能嗎?
編輯 - 如果任何人認爲這在未來,一個簡單得多的「利用」功能顯示在string recipes頁:
str = str:gsub("^%l", string.upper)
感謝您分享。我終於會按照你的「最後說明」而不是用我自己的功能污染字符串 - 我想我找到了一個更好的方法。但你的筆記在將來可能會派上用場。 – kikito 2010-01-10 12:10:25