電子書籍の厳選無料作品が豊富!

verは1.8.7です。
ifで文字列が指定した正規表現と『マッチしない』場合を判定したいんですがそのまま書くと
unless @value =~ /^[0-9]{4}/
みたいになります。
unlessだと先に条件式を見てからひっくり返さないといけないので『マッチしない』を判別する演算子があればいいのですが、マニュアルのStringとRegexpのページを見ても分かりませんでした。
もしあったら教えてください。あとマニュアルにある場合はどこに書いてあるか教えてもらえると嬉しいです。

A 回答 (2件)

「!~」ですね。


否定の「!」と正規表現比較の「~」が組み合わさっています。
記号系は「Rubyで使われる記号の意味(正規表現の複雑な記号は除く)」にいろいろ載ってますよ。

参考URL:http://doc.ruby-lang.org/ja/1.8.7/doc/symref.html
    • good
    • 0
この回答へのお礼

いつもありがとうございます!
記号には記号の専用ページがあったんですねえ~知りませんでした(汗)
URLも教えてくれてありがとうございましたm(_ _)m

お礼日時:2011/10/23 14:16

ANo1.氏の言うように !~ でいいんだけど、どちらかと言うとそのような否定演算子を使うよりは



unless @value =~ /^[0-9]{4}/

の書き方の方が好まれていると思います。
こっちの方が「ほんとは数字4桁始まりであって欲しいけど、そうでないときは○○」という雰囲気しない?しないか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
なるほどお…『本当は数字4文字がいいんだけど』っていうときは確かにunlessのほうが分かりやすい気がしますね!目からうろこ♪

お礼日時:2011/10/23 14:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!