[#29736] [提案] Kernel#p をもっと便利に — "Yusuke ENDOH" <mame@...>

遠藤侑介と申します。

19 messages 2006/11/01

[#29765] merge with YARV — SASADA Koichi <ko1@...>

 ささだです。

16 messages 2006/11/03

[#29767] 1.8 proposal of RUBY_PATCHLEVEL — URABE Shyouhei <root@...>

-----BEGIN PGP SIGNED MESSAGE-----

52 messages 2006/11/04
[#29771] Re: 1.8 proposal of RUBY_PATCHLEVEL — Shugo Maeda <shugo@...> 2006/11/04

前田です。

[#29925] ruby -v — Urabe Shyouhei <shyouhei@...>

卜部です。

28 messages 2006/11/24

[#29964] 1.8, 1.9, svn化, などなどのまとめ — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

15 messages 2006/11/28

[#29970] BUG: Incorrect handling of Ignorecase matching (regex.c of 1.8.5) — "きむらこういち" <hogemuta@...>

木村です。

15 messages 2006/11/28

[ruby-dev:29737] Re: variable _ and multiple assignment in irb

From: WATANABE Hirofumi <eban@...>
Date: 2006-11-01 18:13:54 UTC
List: ruby-dev #29737
わたなべです。

irbでは_は最後に実行した結果を保持しています。

% irb
>> "foo"
=> "foo"
>> _
=> "foo"

"Yusuke ENDOH" <mame@tsg.ne.jp> writes:

> irb で _ に多重代入をするとなんか変な気がします。
> 
> $ irb -v
> irb 0.9.5(05/04/13)
> $ irb
> irb(main):001:0> x,=[1,2]
> => [1, 2]
> irb(main):002:0> x
> => 1
> irb(main):003:0> _,=[1,2]
> => [1, 2]
> irb(main):004:0> _
> => [1, 2]
> 
> ruby 本体では _ も 1 になるので、おそらく irb の問題だと思います。

_,=[1,2]の実行結果は[1, 2]なので_は[1, 2]になります。

> irb でも一行で書くと 1 になります。
> 
> irb(main):005:0> _,=[1,2];_
> => 1

途中で使われた_の中身が実行結果になるので1となります。

> irb 0.9(02/07/03) では再現しませんでした。

たぶんこれ以降に組み入れられた機能だと思います。

doc/irb/irb.rd.jaより抜粋:

= システム変数

--- _  
    前の計算の実行結果を覚えている(ローカル変数).
--- __ 
    実行結果の履歴を覚えている.
    __[line_no]で、その行で実行した結果を得ることができる. line_noが負の
    時には、最新の結果から-line_no前の結果を得ることができる.

-- 
わたなべひろふみ

In This Thread