Ruby: 同じオブジェクトを指すことなく変数をコピーするにはどうしたらいいですか?
2023-10-07 20:59:17
質問
Rubyで、元の変数への変更がコピーに影響しないように変数をコピーするにはどうしたらよいでしょうか。
例えば
phrase1 = "Hello Jim"
phrase2 = phrase1
phrase1.gsub!("Hello","Hi")
p phrase2 #outputs "Hi Jim" - I want it to remain "Hello Jim"
この例では、2つの変数が同じオブジェクトを指しています。2番目の変数のために新しいオブジェクトを作成したいのですが、最初は同じ情報を含むようにします。
どのように解決するのですか?
コピーについては、可能です。
phrase2 = phrase1.dup
または
# Clone: copies singleton methods as well
phrase2 = phrase1.clone
これも全くコピーしないようにすればいいのです。
phrase2 = phrase1.gsub("Hello","Hi")
関連
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Ruby/RailsでHashからキーを削除して残りのHashを取得する方法は?
-
[解決済み] Rubyのクラス名を取得する方法を教えてください。
-
[解決済み] RubyのハッシュオブジェクトをJSONに変換する方法は?
-
[解決済み】RubyにあってPythonにないもの、またその逆は何ですか?
-
[解決済み] ハッシュの配列をハッシュの値でソートするにはどうしたらいいですか?
-
[解決済み] RVMを使用してRubyのバージョンを変更するには?
-
[解決済み] Hash.new([]などのHashのデフォルト値を使用すると、予期せぬ動作(値が消える/変わる)が発生します。)
-
[解決済み] ファイルに新しい行を追加しますか?
-
[解決済み] キュウリのステップを再利用
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Hash each ループでインデックスにアクセスすることは可能ですか?
-
[解決済み] Rubyの"==="演算子は何をするのですか?重複] [重複
-
[解決済み] Rubyでjavaのインターフェースに相当するものは何ですか?
-
[解決済み] Capybaraで要素の正確なテキストをマッチングして要素を見つける方法
-
[解決済み] Rubyのオフ・ザ・レール
-
[解決済み] define_methodを使ってクラスメソッドを作成するには?
-
[解決済み] Hash.new([]などのHashのデフォルト値を使用すると、予期せぬ動作(値が消える/変わる)が発生します。)
-
[解決済み] Rubyでオブジェクトのキーを配列として取得する
-
[解決済み] Rubyで2つの配列のマージとインターリーブ
-
[解決済み] Rubyのモジュール/ミキシンからクラスメソッドを継承する