2017-01-12 8 views
0

어떻게 내가 사용하고자하지 않으시면대문자 입력을 비활성화하려면 어떻게합니까?

user = get.chomp 

와 사용자 대문자 입력을 방지 할 수 있습니다

user.downcase! 

내가 원하는 사용자은`t 입력 대문자

+0

"사용자의 원래 대소 문자 보존"은 사용자가 입력 한 대문자가 입력 문자열에 남아 있어야 함을 의미합니다. 그러나 나머지 질문은 어떻게 대문자로 된 글자를 입력하지 못하게하는지 묻습니다. 이 두 가지는 서로 모순됩니다. 더 명확하게 질문을 편집 할 수 있습니까? –

답변

1

예, getch는 한 번에 하나의 문자를 사용합니다. 하나의 캐비닛 : 두 개의 리턴으로 문자열을 끝내야합니다. 더 많은 또는 더 멋진 컨트롤을 사용하려는 경우 예를 들어 Shoes과 같은 간단한 GUI 프레임 워크를 웹 인터페이스로 사용하려는 경우 이것이 콘솔 일뿐입니다.

require 'io/console' 

input, user = "", "" 
while input != "\n" 
    input = STDIN.getch 
    if ('a'..'z').include? input 
    print input 
    user += input 
    end 
end 
puts "\nuser = #{user}" 
0

확인하려는 경우 모두 쉬운 방법입니다.

user = gets.chomp 

if (user == user.downcase) 
    # All downcase 
end 

당신이 _이 허용되는 경우와 같이 허용되는 문자를 사용자 정의 할 수있는 것입니다

user = gets.chomp 

if (user.match(/\A[a-z]\z/) 
    # All downcase 
end 

: 당신은 또한 정규 표현식을 사용할 수 있습니다.

커스가 개별 키 입력을 처리하고 에코 출력을 제어하도록 많은 작업을하지 않는 한 대문자로 입력하지 못하게 할 수 없습니다. 이것은 많은 작업이며 권장하지 않습니다.

+0

'user == user.downcase'에 악센트 부호가있는 문자를 사용하려면 Ruby 2.4가 필요합니다. –

관련 문제