破壊的メソッドってなんだよ〜と思ったらbangメソッドのことだった

Rails チュートリアルを進めていたら、4.3章、配列の項で「破壊的」メソッドとかいうのが出てきました。

↓こんなの


>> a = [42, 8, 17] >> a => [42, 8, 17] >> a.sort! => [8, 17, 42]

.sort! の部分が「破壊的」メソッドです。

なんだよ破壊的って。。。と思い原文を確認したら “bang” methods となっていました。

 

“bang” methodsとは

「破壊的」メソッドは “bang” methods のこと。というのはわかりました。

では “bang” とは一体なんなのかというと、「!」エクスクラメーションを、海外では通常「バン」と呼ぶそうです。

 

「!」…エクスクラメーション、感嘆符のこと、海外では「bang」と呼ぶ

 

ruby では「!」バンを使って論理評価したり条件分岐で利用したりします。


string = "foo" !string.nil?

rubyでバンを利用した論理評価の例

 

ちなみに次のようにバンを2つ連続で使う場合は バンバン というようです。わかりやすい!

いや、むしろわかりにくい!?否定の否定なので出力結果が混乱しますね。


string = "bar" !!string.nil?

 

まとめ

「破壊的」メソッドは bang methods のこと。

終わり。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください