[解決済み] RubyのArrayクラスで配列の各要素を2乗する方法は?
2022-02-15 11:56:27
質問
私のコードの一部は以下の通りです。
class Array
def square!
self.map {|num| num ** 2}
self
end
end
電話するとき
[1,2,3].square!
1,4,9]を期待したのに、[1,2,3]と表示されるのです。なぜこのようなことが起こるのでしょうか?私が呼び出すと
[1,2,3].map {|num| num ** 2}
クラスメソッドの外では、正しい答えが得られます。
どのように解決するのですか?
を使用する必要があります。
Array#map!
ではなく
Array#map
.
Array#map
-> selfの各要素に対して、与えられたブロックを1回ずつ呼び出します。ブロックが返す値を含む新しい配列を作成します。
Array#map!
-> selfの各要素に対して、与えられたブロックを1回ずつ起動し、要素をブロックが返す値で置き換えます。
class Array
def square!
self.map! {|num| num ** 2}
end
end
[1,2,3].square! #=> [1, 4, 9]
関連
-
[解決済み] jsonに複数の値を1つのキーで格納する
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MIPSで配列を作る(アクセスする)方法
-
[解決済み] MATLABで動的配列を作成する方法
-
[解決済み] int (*p)[10]=s と int (*o)[5]=&s の違いは何ですか?
-
[解決済み] glVertex3fvとglVertex3fの相違点
-
[解決済み] MASMアセンブリの配列 (非常に混乱している初級者)
-
[解決済み] Twigでの出力配列
-
[解決済み] Rubyでハッシュの配列をソートする方法
-
[解決済み] MATLABでn次元の行列の各要素を反復処理するにはどうすればよいですか?
-
[解決済み] GCCです。配列型に不完全な要素型がある
-
[解決済み] Powershellで配列の値をソートする