[#38563] [Bug #1556] irb does not save history from 1.8.7-p83 and later — Nobuhiro IMAI <redmine@...>

Bug #1556: irb does not save history from 1.8.7-p83 and later

11 messages 2009/06/02

[#38571] [Bug #1582] IO.new Raises Other Errors between 1.8 and 1.9 — "ujihisa ." <redmine@...>

Bug #1582: IO.new Raises Other Errors between 1.8 and 1.9

15 messages 2009/06/05

[#38607] [Feature: trunk] GC.stat — SASADA Koichi <ko1@...>

 ささだです.

21 messages 2009/06/14

[#38608] Fixnum#fdiv — Tadayoshi Funaba <tadf@...>

Bignum#fdiv には大きな数である場合の配慮があるようですが、Fixnum ではな

23 messages 2009/06/14
[#38636] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

fdiv では2つの異る解釈が混在しているように見えます。

[#38638] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/15

まつもと ゆきひろです

[#38639] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

> えーと、設計者は「fdivは結果がfloatになるdiv」くらいしか考え

[#38640] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/15

まつもと ゆきひろです

[#38641] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

> ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意

[#38657] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/16

> > ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意

[#38659] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/16

まつもと ゆきひろです

[#38660] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/16

> 私が気にしているのは「挙動の理解しやすさ」ですね。

[#38701] [Bug #1676] only last "return" is traced by set_trace_func — _ wanabe <redmine@...>

Bug #1676: only last "return" is traced by set_trace_func

10 messages 2009/06/22

[ruby-dev:38569] [Feature #1570] 「unless インスタンス変数」での警告について

From: "rubikitch ." <redmine@...>
Date: 2009-06-04 20:22:27 UTC
List: ruby-dev #38569
Feature #1570: 「unless インスタンス変数」での警告について
http://redmine.ruby-lang.org/issues/show/1570

起票者: rubikitch .
ステータス: Open, 優先度: Normal

インスタンス変数を「||=」で遅延初期化する場合は警告が出ませんが、「unless」でも出ないようにできないでしょうか?
「unless インスタンス変数; 処理; end」は手軽に使えるイディオムだと思っています。

instance_variable_defined? で警告は消せますが、長すぎて美観が損なわれます。
begin式や「lambda do ~ end.call」を遅延初期化する手もありますが、どうもしっくりきません。

Ruby 1.9でも出ます。

@a ||= 1      # => 1
@b = @b || 2  # => 2 # !> instance variable @b not initialized

# 手軽だが警告が出る
unless @c # !> instance variable @c not initialized
  # 長い処理
  @c = 3
end

# begin~endを揃える規約だとインデントがかさむ
@d ||= begin
         # 長い処理
         4
       end
@d            # => 4

# なんかかっこ悪い
@e ||= lambda do
  # 長い処理
  5
end.call
@e            # => 5

# 美しくない
unless instance_variable_defined? :@f
  # 長い処理
  @f = 6
end
@f            # => 6


----------------------------------------
http://redmine.ruby-lang.org

In This Thread

Prev Next