[#36686] 1.1 < 61.1 - 60.0 — Shin-ichiro HARA <sinara@...>

原です。

19 messages 2002/12/06

[#36770] www.ruby-lang.orgリニューアル準備のお知らせ — TADA Tadashi <sho@...>

ruby-lang.orgのwebmasterチームでは、タイムリーな情報提供と使いやすい

11 messages 2002/12/16

[ruby-list:36798] Array#=== は?

From: Take_tk <ggb03124@...>
Date: 2002-12-17 18:21:43 UTC
List: ruby-list #36798
たけ(tk)です。

 case文の中で配列を使ったらうまくいかないんですね。

--
time = Time.local(2003,1,13)
case time.wday
when 0
  youbi = "日曜日"
when [1,2,3,4,5]
  youbi = "平日"
else
  youbi = "土曜日"
end
puts "#{time}は#{youbi}です"
--

 もちろん、カンマで並べればうまくいく。

--
time = Time.local(2003,1,13)
case time.wday
when 0
  youbi = "日曜日"
when 1,2,3,4,5
  youbi = "平日"
else
  youbi = "土曜日"
end
puts "#{time}は#{youbi}です"
--

 しかし、一般に(?)カンマで並べたオブジェクトの列を代入すると配列にな
る。

--
obj = 1,2,3,4,5
p obj
--

 従って、次のようなArray#===メソッドがあるとばっかり思っていました。
 なぜ、ないのでしょうか?

--
class Array
  def ===(v)
    each{|item| return true if item===v}
    return false
  end
end

time = Time.local(2003,1,13)
case time.wday
when 0
  youbi = "日曜日"
when [1,2,3,4,5]
  youbi = "平日"
else
  youbi = "土曜日"
end
puts "#{time}は#{youbi}です"
--

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武


In This Thread

Prev Next