-2

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

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

我在终端中收到此错误:

test.rb:6:in <main>': undefined methodcapitalized' for "name":String (NoMethodError)

4

3 回答 3

1
name = gets.chomp
if name.capitalize == name
      puts 'some text'
else
      puts name.capitalize + 'some text'
end
于 2013-07-30T06:58:32.740 回答
1

如果将capitalized?方法添加到String

class String

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

end

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

'Ruby'.capitalized?
 #=> true

编辑:您似乎只是想将字符串本身大写而不是检查。在这种情况下:

'ruby'.capitalize
 #=> 'Ruby'

应该做你需要的。

于 2013-07-30T13:19:37.217 回答
-1

它是String#capitalize。试试这个。

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

于 2013-07-30T06:57:55.393 回答