[#34261] ComplexFloat — "Kenta Murata" <muraken@...>

村田です.

117 messages 2008/04/06
[#34280] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

村田です.

[#34286] Re: ComplexFloat — Nobuyoshi Nakada <nobu@...> 2008/04/10

なかだです。

[#34288] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34290] Re: ComplexFloat — "U.Nakamura" <usa@...> 2008/04/10

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

[#34293] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34296] Re: ComplexFloat — "U.Nakamura" <usa@...> 2008/04/10

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

[#34298] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34300] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/10

In article <761216ce0804100221x67f10f12iab12b0e35b6f50e4@mail.gmail.com>,

[#34301] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34303] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/10

まつもと ゆきひろです

[#34314] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/10

利点としては、拡張ライブラリが書きやすい、ということ。正当化の理由とし

[#34316] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34317] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/10

> 私にはいびつな進化という感じはしません.むしろ,せっかく C で実装できるのに

[#34318] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34322] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/10

まつもと ゆきひろです

[#34328] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/11

むらたです.

[#34331] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/11

まつもと ゆきひろです

[#34340] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/11

むらたです.

[#34341] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/11

まつもと ゆきひろです

[#34362] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34363] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/12

In article <761216ce0804120723n16bfbad7qdae90f142978d256@mail.gmail.com>,

[#34367] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34368] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/12

In article <761216ce0804121011h6132d58fh4916ecbb29d58690@mail.gmail.com>,

[#34369] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34364] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/12

まつもと ゆきひろです

[#34366] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34386] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/13

まつもと ゆきひろです

[#34415] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/15

むらたです.

[#34439] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/17

原です。

[#34442] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/17

まつもと ゆきひろです

[#34451] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/18

原です。

[#34455] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/18

> 1. ComplexFloat を組込みにし、Complex を標準ライブラリとして提供する。

[#34457] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/20

原です。

[#34458] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/20

> 分かりににくかったですが、これは、ComplexFloat を含めた組込みの数体系が

[#34502] Re: ComplexFloat — sheepman <sh@...> 2008/04/24

こんばんは sheepman です。

[#34601] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/05/07

まつもと ゆきひろです

[#34603] Re: ComplexFloat — keiju@... (石塚圭樹) 2008/05/07

けいじゅ@いしつかです.

[#34614] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/05/08

まつもと ゆきひろです

[#34621] Re: ComplexFloat — keiju@... (石塚圭樹) 2008/05/08

けいじゅ@いしつかです.

[ruby-dev:34343] Re: Enumerable#find_index vs. Array#index

From: Kazuhiro NISHIYAMA <zn@...>
Date: 2008-04-11 10:45:35 UTC
List: ruby-dev #34343
西山和広です。

At Fri, 11 Apr 2008 19:23:23 +0900,
Kazuhiro NISHIYAMA wrote:
> 
> とりあえずApprovedになっていて簡単そうなものをbackportしてみています。
> (Process.exec, Object#tap, Symbol#to_procなど)

Symbol#to_procは単純にtrunkのstring.cからそのままruby_1_8のobject.cに
入れてもうまくいかなかった(:to_s.to_proc.call(1)でもno receiver givenに
なる)ので、あきらめました。

Index: object.c
===================================================================
--- object.c	(リビジョン 15977)
+++ object.c	(作業コピー)
@@ -1205,7 +1205,34 @@
     return sym;
 }
 
+static VALUE
+sym_call(VALUE args, VALUE sym, int argc, VALUE *argv)
+{
+    VALUE obj;
 
+    if (argc < 1) {
+	rb_raise(rb_eArgError, "no receiver given");
+    }
+    obj = argv[0];
+    return rb_funcall(obj, (ID)sym, argc - 1, argv + 1);
+}
+
+/*
+ * call-seq:
+ *   sym.to_proc
+ *
+ * Returns a _Proc_ object which respond to the given method by _sym_.
+ *
+ *   (1..3).collect(&:to_s)  #=> ["1", "2", "3"]
+ */
+
+static VALUE
+sym_to_proc(VALUE sym)
+{
+    return rb_proc_new(sym_call, (VALUE)SYM2ID(sym));
+}
+
+
 /***********************************************************************
  *
  * Document-class: Module
@@ -2749,6 +2776,7 @@
     rb_define_method(rb_cSymbol, "to_s", sym_to_s, 0);
     rb_define_method(rb_cSymbol, "id2name", sym_to_s, 0);
     rb_define_method(rb_cSymbol, "to_sym", sym_to_sym, 0);
+    rb_define_method(rb_cSymbol, "to_proc", sym_to_proc, 0);
     rb_define_method(rb_cSymbol, "===", rb_obj_equal, 1); 
 
     rb_define_method(rb_cModule, "freeze", rb_mod_freeze, 0);
Index: test/ruby/test_symbol.rb
===================================================================
--- test/ruby/test_symbol.rb	(リビジョン 15977)
+++ test/ruby/test_symbol.rb	(作業コピー)
@@ -74,4 +74,8 @@
     assert_inspect_evaled(':$0')
     assert_inspect_evaled(':$1')
   end
+
+  def test_to_proc
+    assert_equal %w(1 2 3), (1..3).map(&:to_s)
+  end
 end


-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)

In This Thread