[#28561] Ruby::DL vs Ruby::FFI — Aston <blackapache512-ticket@...>

Ruby.DL and FFI libraries are great for programmers like me who are not internet programmers, but are more interested in scientific and number processing etc.

11 messages 2010/03/08

[#28686] trunk (26947) build fail with msys/mingw/vista — Jon <jon.forums@...>

I get the following build failure when msysgit's "c:\git\cmd" dir is on PATH.

8 messages 2010/03/16

[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:28556] Re: [Bug #2945] Regexp#=== is failed by an exception when the exception is occurred in method_missing

From: Kenta Murata <muraken@...>
Date: 2010-03-08 08:47:26 UTC
List: ruby-core #28556
Hi,

On 2010/03/08, at 17:12, Yukihiro Matsumoto wrote:

> |> |Is this valid behavior?
> |> 
> |> I think so.  What makes you think it's invalid?
> |
> |I think the present behavior is unfortunate the following case.
> |I don't expect raising exception, but printing 2.
> 
> I have to repeat myself.  Why do you expect so?
> #method_missing raised an exception, no one captured.  Why do we
> expect exceptions to be captured implicitly?

Ok, I agree with you about that exceptions, no one captured,
shouldn't be captured implicitly.

But, I do still not understand Regexp#=== depends on method_missing.
I expect Regexp#=== with a non-string argument returns false.
In Regexp#===, if an argument doesn't have to_str method,
the argument is interpreted as a non-string, isn't it?
If so, Regexp#=== shouldn't raise an exception, but return false,
independently of the definition of method_missing.

> |  o1 = Object.new
> |  class << o1
> |    def method_missing(*args)
> |      raise "XXX"
> |    end
> |  end
> |  
> |  case o1
> |  when /aaa/
> |    puts 1
> |  when o
> |    puts 2
> |  end
> |  #=> `method_missing': XXX (RuntimeError)

--
Kenta Murata
OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC

本を書きました!!
『Ruby 逆引きレシピ』 http://www.amazon.co.jp/dp/4798119881/mrkn-22

E-mail: mrkn@mrkn.jp
twitter: http://twitter.com/mrkn/
blog: http://d.hatena.ne.jp/mrkn/


In This Thread