2012-03-05 1 views
0

私はRubyには新しく、開発ツールに慣れています。私はirbを利用しており、最初のhellowordを実行しました。また、cmdプロンプトを使って同じことをしました。 私はエラー、それがメインのため、未定義のメソッド `GSUB」を返す保つ私の最初のルビーテストコードに問題がある

def palindrome2?(string) 
    puts "hello" 
    regex = /^[a-zA-Z]/ 
    string = gsub(regex,'').downcase 
    mirror = string.reverse 
    reformat == mirror 
end 

を返す続け、次の機能を持っている:私はあなたの場合には、この

+3

'string'パラメータ:' string.gsub'で 'gsub'を呼び出します。代わりに、メインオブジェクト(ルビーのトップレベルオブジェクト)で呼び出すことができます。 –

+0

ありがとう。働いています – nnanna

+0

@Alex Kliuchnikauは間違いなく "パラメータ"ではなく "オブジェクト"を言うことを意味しました。 – steenslag

答えて

0

を解決するのですerror.Howオブジェクトを使用すると、GSUBに電話をするのを忘れました文字列

文字列回文

また
class String 
def palindrome? 
    self.downcase == reverse.downcase 
end 
end 

"baB".palindrome? #=> true 
0

、変更が行われなかった場合はnil文字列を返すのGSUB法上の方法。たとえば、 "fijowejg"、 "filsijdf" .gsub(/ [^ a-zA-Z] /、 '')のように単語がない単語がない場合は、文字列はnilを返します。その後は、nilオブジェクトに対してdowncaseメソッドを実行することはできません。

このように、メソッドgsubとdowncaseをこの順序で連結することはできません。 http://ruby-doc.org/core-1.9.3/String.html#method-i-gsub

関連する問題