43
누군가가 Ruby for variable에서 스위치 케이스를 사용하는 방법에 대한 예제를 제공 할 수 있습니까?Ruby on Rails 스위치
누군가가 Ruby for variable에서 스위치 케이스를 사용하는 방법에 대한 예제를 제공 할 수 있습니까?Ruby on Rails 스위치
케이스/시간을 참조한다고 가정합니다.
case a_variable # a_variable is the variable we want to compare
when 1 #compare to 1
puts "it was 1"
when 2 #compare to 2
puts "it was 2"
else
puts "it was something else"
end
또는
puts case a_variable
when 1
"it was 1"
when 2
"it was 2"
else
"it was something else"
end
편집 어쩌면 모두가 알고하지만 매우 유용 할 수 있습니다 것은 당신이 경우 문으로 정규 표현식을 사용할 수 있다는 것입니다
뭔가.
foo = "1Aheppsdf"
what = case foo
when /^[0-9]/
"Begins with a number"
when /^[a-zA-Z]/
"Begins with a letter"
else
"Begins with something else"
end
puts "String: #{what}"
고마워요. a_variable을 params [: id]로 바꿀 수 있습니까? – glarkou
절대적으로 동일한 유형의 변수를 비교하는지 확인하십시오 (예 : "1"은 1이 아닙니다.) 그러나 "1".to_i는 1과 같습니다 (to_i는 문자열을 정수로 변환 함). params [: id]를 정수로 비교하려면 "case params [: id] .to_i"를 수행해야합니다. params [: id]를 "case"로 테스트하는 것이 이상하게 보입니다. 현재 수행중인 작업에 대해 확신합니까? –
감사합니다. 정말 도움이되었습니다. 그게 문제라고 생각해! – glarkou