2010-03-11 4 views
14

루아는 단어의 첫 문자를 대문자 (예 : php의 ucfirst)로 만드는 함수를 제공합니까? 그렇다면 어떻게 사용합니까?첫 문자 대문자 루아

keywords[1]을 첫 번째 문자의 대문자로 지정합니다. 나는 그것을 읽었습니다 string.upper하지만 그것을 전체 대문자로 만들었습니다.

답변

27

여기에는 유용한 문자열 레시피 here이 포함되어 있습니다. 대문자로 문자열의 첫 번째 문자를 변경하려면 사용할 수 있습니다

function firstToUpper(str) 
    return (str:gsub("^%l", string.upper)) 
end 
+0

감사합니다! 훌륭한 작품들 – Tomek

+0

@GrasDouble 단순한 형식 변경이 아닌 이상 다른 사람들의 코드를 편집하지 마십시오. 편집 (괄호 제거)은 함수의 동작을 변경하고 부정확하게 만듭니다 (함수가 하나가 아닌 두 값을 반환하도록 함). – interjay

+0

죄송합니다. [this gotcha] (http://www.luafaq.org/gotchas.html#T8.1) (실제로 위험한)에 걸렸습니다. 'gsub' 사례는 특히 섹션의 끝 부분에 문서화되어 있습니다. –

7

이것은 또한 작동 : s:sub(1,1):upper()..s:sub(2)

+0

interjay의 버전이 LÖVE (love2d)에서 작동하지 않았습니다. 반면에 이것은 훌륭합니다. – modiX