rubyの破壊的メソッドはどのような場面でつかえるのでしょうか?
簡単な例があるとありがたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
投稿2019/05/30 21:39
総合スコア22324
0
例えば、ファイルから読み込んだ行line
に対して、line = line.chomp
と書くのであれば、line.chomp!
のほうが効率が良いです。
あとは、こういうコードはよく書きます。
Ruby
1data = [] 2ARGF.each do |line| 3 if /~~~/ =~ line 4 data << $1 5 end 6end
投稿2019/05/30 14:29
編集2019/05/31 01:35総合スコア84555
0
2 つの変数の値をスワップする | まくまくRubyノート
https://maku77.github.io/ruby/swap-values.html
class Array def swap!(a, b) self[a], self[b] = self[b], self[a] end end
こういう風に配列の中身を入れ替えたいときに使います。
Rubyの配列でswap(入れ替え)メソッド - Qiita
https://qiita.com/falcon8823/items/23f0252582d0bc7c3a5c
irb(main):014:0> a = [1, 2, 3, 4, 5] => [1, 2, 3, 4, 5] irb(main):015:0> a.swap(0, 3) => [4, 2, 3, 1, 5] irb(main):016:0> a => [1, 2, 3, 4, 5] irb(main):017:0> a.swap!(1, 4) => [1, 5, 3, 4, 2] irb(main):018:0> a => [1, 5, 3, 4, 2]
非破壊メソッドだと中身が入れ替わりません。
投稿2019/06/07 09:45
総合スコア432
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。