无法检查Ruby对象是否大写

时间:2013-07-30 06:56:19

标签: ruby capitalize

我正在尝试检查一个条件:

name = gets.chomp  
if name.capitalized == name      
  puts 'some text'
else
  puts name.capitalize + 'some text'

我在终端中收到此错误:

  

test.rb:6:in <main>': undefined method大写'for“name”:String(NoMethodError)

3 个答案:

答案 0 :(得分:1)

name = gets.chomp
if name.capitalize == name
      puts 'some text'
else
      puts name.capitalize + 'some text'
end

答案 1 :(得分:1)

如果您将capitalized?方法添加到String

class String

  def capitalized?
    chars.first == chars.first.upcase
  end

end

您将能够检查字符串是否大写并在逻辑中使用它。

'Ruby'.capitalized?
 #=> true
编辑:似乎你只是试图将字符串本身大写而不是检查。在那种情况下:

'ruby'.capitalize
 #=> 'Ruby'

应该做你需要的。

答案 2 :(得分:0)

这是String#capitalize。试试这个。

这是一个错字if name.capitalized将其更改为if name.capitalize