그래서 palindrome 프로그램을 만들기로 결심했으나 사용자가 입력 한 문자열을 검사하여 결정했습니다. 이 작업을 올바르게 수행하기 위해 대문자, 공백 및 구두점을 제거하려고했습니다. 나는 그럭저럭 모든 것을 알아들을 수 있었다. 그러나 그것의 구두점 부분은 움직이게했다. "Madam, I 'm Adam"과 같은 문자열을 시도 할 때마다 프로그램이 중단됩니다. Ruby를 처음 접했을 때 나는 Codecademy 웹 사이트를 통해서만 지식을 습득했습니다. 또한 제공된 코드를 실행하기 위해 제공된 편집기를 사용합니다. 때마다 나는 그것을 실행 :내 Palindrome 프로그램의 문제점은 무엇입니까? (Ruby, 사용자가 직접 문자열을 입력합니다.)
puts "Enter a string!"
user_input = gets.chomp
user_input.downcase!
user_input = user_input.gsub(/[^0-9a-z ]/i, '')
if user_input.include?(" ")
user_input.gsub!(/ /, "")
end
if user_input == user_input.reverse
print "Is a pallindrome"
else
print "Is not a pallindrome"
end
그것은 충돌합니다. 그러나 만약 내가 그것을 실행하면 :
puts "Enter a string!"
user_input = gets.chomp
user_input.downcase!
if user_input.include?(" ")
user_input.gsub!(/ /, "")
end
if user_input == user_input.reverse
print "Is a pallindrome"
else
print "Is not a pallindrome"
end
그것은 작동합니다. 여기서 내가 뭘 잘못하고 있니? 구두점을 제거하려고 할 때 내 프로그램이 항상 중단되는 이유는 무엇입니까?
어떤 예외가 발생합니까? –
... 어떤 문자열을 입력 했습니까? 예외가 발생한 줄은 무엇입니까? –
다음은 Ruby에서 문장 검색을 확인하는 몇 가지 다른 방법입니다. http://stackoverflow.com/questions/8462512/ruby-way-to-check-for-string-palindrome – Powers