puts "HELLO"
print "ENTER YOUR NAME: "
name=gets.chomp
name.capitalize!
puts name
x=name.length
puts "YOUR NAME IS MADE UP OF " + x.to_s + " LETTERS !"
这里的错误是什么,导致名称之间的空格被计算?
例如我输入Adolf Hitler,字母数量显示为12,但应为11。
答案 0 :(得分:1)
您可以使用count
'ADOLF HITLER'.count('A-Z') #=> 11
或tr
'adolf hitler'.tr(' ','').length #=> 11
但gsub
可能更安全
'adolf hitler'.gsub(/\s+/,'').length #=> 11
答案 1 :(得分:1)
所以,如果我理解正确,当你使用:
irb(main):001:0> "Peter Camilleri".length
=> 15
包含您不想要的空间。这个替代方案怎么样:
irb(main):002:0> "Peter Camilleri".split.join.length
=> 14
没有更多的空间!