[#50041] 異なるProcオブジェクトが同じ構造を持つかどうか確かめたい — Tanaka Kazuki <mail@...>
GyRCJCIkMSReJDckRiQqJGEkRyRIJCYkNCQ2JCQkXiQ5GyhCLg0KGyRCRjBFKiRLOm4kaSRsJD8w
5 messages
2015/01/05
[#50042] Re: 異なるProcオブジェクトが同じ構造を持つかどうか確かめたい
— Nobuyoshi Nakada <nobu@...>
2015/01/05
On 2015/01/05 12:25, Tanaka Kazuki wrote:
[#50043] Re: 異なるProcオブジェクトが同じ構造を持つかどうか確かめたい
— Tanaka Kazuki <mail@...>
2015/01/05
PiAbJEIwbEhMMj0kTyRHJC0kSiQkJEg7VyQkJF4kOSQsISIkMyROTmMkRyRPGyhCPiA+IElTZXEg
[#50046] ruby 2.2のDir.glob大文字小文字区別について — NASU Tohru/那須 亮 <nst329@...>
6YKj6aCI44Go55Sz44GX44G+44GZDQoNCk9TWCBtYXZlcmlja3PjgavjgabjgIFob21lYnJld+OC
5 messages
2015/01/06
[#50053] x ||= 1 — "5.5" <5.5@...>
5.5 です。
15 messages
2015/01/13
[#50056] Re: x ||= 1
— "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
2015/01/13
きしもとです
[#50057] Re: x ||= 1
— Nobuyoshi Nakada <nobu@...>
2015/01/13
On 2015/01/13 13:48, KISHIMOTO, Makoto wrote:
[#50071] 世の中のRubyコードをgrepする方法 — Tanaka Kazuki <mail@...>
GyRCJDMkcyRLJEEkTxsoQi4NChskQkAkJE5DZiRIJCQkJjhATVUkTjtYJDk9aiRPGyhCIGdpdGh1
5 messages
2015/01/25
[ruby-list:50066] Re: x ||= 1
From:
"5.5" <5.5@...>
Date:
2015-01-17 05:12:58 UTC
List:
ruby-list #50066
5.5 です。 On 15/01/16 14:21, take_tk wrote: > たけ(tk)です > >> 式1 が未定義もしくは偽のとき 式1 に 式2 の評価結果を代入し >> その値を全体の評価値とする。 >> 式1 が真のとき,その評価結果を全体の評価値とする。 >> >> ということでよろしいでしょうか? > > 式1が定数の場合には、違います。 あ,そうですね。 ||= の一般的な場合を考えていたつもりでいつのまにかローカル変数 的な識別子の場合だけを考えてしまっていました。 > 思いがけない発見。 > > irb(main):028:0> y #=> NameError: undefined local variable ... > irb(main):029:0> y = y #=> nil ← ★!!! > irb(main):030:0> y #=> nil こうなるのは,y = y から構文木を作るときに,識別子 y のあとに = が付いているのを見て,y がローカル変数であると知るんですね。 それゆえ, s(:lasgn, :y, s(:lvar, :y)) という構文木を作る。 これはローカル変数 y の値をローカル変数 y に代入するということ ですよね。 で,実行する段になると,まず y を評価するんだけど,一度も代入 されてないローカル変数の値は nil なので,そいつを y に代入する ことになる,と。 -- 5.5@moji.gr.jp