首页 > 解决方案 > 为什么当我使用gets时我的字符串长度会+1?

问题描述

我必须制定一个算法来检查一个短语是否是回文,但我可以注意到该方法会增加我的字符​​串长度。但我不确定我的代码发生了什么..

puts "Phrase: "
# before
# str = gets.to_s
str = gets.chomp


def palindrome(string)
    split_string = string.split("")
    reversed = []
    string.size.times { reversed << split_string.pop }
    str = reversed.join.delete(" ")
    str2 = string.delete(" ")
    if str == str2
        puts "Is a palindrome!!!"
    else
        puts "Not a palindrome!"
    end
end

palindrome("a santa lived as a devil at nasa")
# Right 

palindrome("It's not a palindrome")
# Right

palindrome(str)
# I put any palindrome phrase like "race car" and I get the wrong result

标签: ruby

解决方案


我只是在获取后使用.chomp。我觉得自己好笨...

str = gets.chomp

没有它,gets 方法在末尾包含一个换行符


推荐阅读