[#47809] Ruby1.9.2 ローカルでのデバッグ環境構築 — eiichi_maekawa@...
5 messages
2011/02/01
[#47817] 参照渡しの実現方法は? — "YOSHIIZUMI" <t-yoshiizumi@...>
吉泉といいます。
8 messages
2011/02/01
[#47829] mingw32 DBI使用で、エラー — eiichi_maekawa@...
5 messages
2011/02/03
[#47847] ruby1.9での文字列について — Nobuyuki Inaba <nobuyuki.inaba@...>
稲葉と申します。
10 messages
2011/02/08
[#47849] Re: ruby1.9での文字列について
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/02/08
2011年2月8日18:35 Nobuyuki Inaba <nobuyuki.inaba@gmail.com>:
[#47861] ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@...
20 messages
2011/02/10
[#47874] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— eiichi_maekawa@...
2011/02/15
前川です。
[#47875] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— OZAWA Sakuro <sakuro@2238club.org>
2011/02/15
さくです。
[#47876] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— eiichi_maekawa@...
2011/02/15
[#47877] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— OZAWA Sakuro <sakuro@2238club.org>
2011/02/15
さくです。
[#47878] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— Kenta Murata <muraken@...>
2011/02/15
むらたです。
[#47883] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— eiichi_maekawa@...
2011/02/15
むらたさん、
[#47884] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— OZAWA Sakuro <sakuro@2238club.org>
2011/02/15
さくです。
[#47885] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— eiichi_maekawa@...
2011/02/15
前川です。
[#47886] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— OZAWA Sakuro <sakuro@2238club.org>
2011/02/15
さくです。
[#47887] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール
— eiichi_maekawa@...
2011/02/15
前川です。
[#47865] system関数について — "鈴木 昭二" <s-suzuki@...>
はじめまして、鈴木と申します。
6 messages
2011/02/11
[#47892] rails3, mysql2, twitterで落ちる — daisuke sugimori <daixque@...>
杉森といいます。
7 messages
2011/02/17
[#47899] [ANN] RubyKaigi2011: Call for presentations — SASADA Koichi <ko1@...>
みなさま
8 messages
2011/02/17
[#47913] 2 種類のリテラル — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
9 messages
2011/02/23
[#47922] Erubis新機能予告 (Re: eRuby における % 行) — Makoto Kuwata <kwa@...>
桑田です。Erubisについてのお知らせです。
8 messages
2011/02/23
[ruby-list:47817] 参照渡しの実現方法は?
From:
"YOSHIIZUMI" <t-yoshiizumi@...>
Date:
2011-02-01 14:27:50 UTC
List:
ruby-list #47817
吉泉といいます。
ルビマをいつも興味深く読ませていただいています。感謝。
32号で、「値渡しと参照渡しの違いを理解する」がありました。
rubyも基本的には値渡しだと思いますが、参照渡しを実現する方法ってある
んでしょうか。
記事中にあった例でいうと
−−−−−−−−
def foo(a, b)
a += 1
b += 2
end
x = 10
y = 20
foo(x, y)
p x # => 10 ほんとは 11 になって欲しい
p y # => 20 ほんとは 22 になって欲しい
−−−−−−−−
時々「参照渡しができれば便利」と思うことがあります。C言語で &x でア
ドレスを取り出し、*a でポインタとして受け取るみたいなイメージです。安
易に使うと後でデバッグに苦しむことはありますが。
メソッドfooの引数が文字列なら
−−−−−−−−
def foo(a, b)
a.gsub!(/^/, "!")
b.gsub!(/^/, "#")
end
x = "abc"
y = "xyz"
foo(x, y)
p x # => "!abc"
p y # => "#xyz"
−−−−−−−−
こんな感じで、メソッド内での処理結果を呼び出し元に反映させることがで
きますが、数値の場合にどうしたら実現できるのか……
というか、引数のデータ型が何であっても、呼び出し元に処理結果を反映さ
せて返したい、というのが希望です。
一つの素直な方法としては、メソッド foo の最後に「return a, b」を置い
て、呼び出す時は
x, y = foo(x, y)
とするのが一番無難なのかもしれません。
また、引数を配列(Array)にセットして渡すというのも一つの方法だとは思
います。
でも、もっと単純に参照渡しができないものかと、
何か方法があったらアドバイスをお願いします。