[#34988] BigFloat の to_i メソッドについて — Sako Hiroshi <sakoh@...2.so-net.ne.jp>
[#34989] mailing list archive? — maili31s@... (SugHimsi == SUGIHARA Hiroshi)
すぎむし。
[#34991] a = 4 ; p((a < 3) or (a > 5)) — Take_tk <ggb03124@...>
次のものがエラーになるのは何故なんでしょうか?
新井です。
たけ(tk)です。
まつもと ゆきひろです
newです.
[#35005] FILE_READPTR — Daisuke Aoki <dai@...>
青木@横浜です。
[#35028] win32.c 中の my* 関数について — 小西 弘将 <konishih@...6.so-net.ne.jp>
小西 弘将です。
なかだです。
小西 弘将です。
小西 弘将です。
こんにちは、なかむら(う)です。
なかだです。
小西 弘将です。
なかだです。
小西 弘将です。
小西 弘将です。
なかだです。
小西 弘将です。
なかだです。
[#35052] ruby_lib/html/ — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
にょにょると申します。(ここハンドル投稿ダメなのでしょうか?ダメなら本
青山です。
にょにょるです。オンラインではずっとこれを使っているので、これでいきま
青山です。
はじめまして。Siena. と申します。
青山です。
Siena.%なんだか毎度長いなぁ --; です。
[#35054] 「 Ruby/GTK プログラミング入門」 — Noritsugu Nakamura <nnakamur@...>
なかだです。
むとうです。
[#35058] Y Combinator — sinara@...
"Y Combinator" とは何かというと
続いて、ちょっと数学っぽい解釈をします。先の
At Sun, 12 May 2002 13:59:51 +0900,
At Sun, 12 May 2002 16:37:27 +0900,
[#35081] ISO 8601 と Time#wday — Take_tk <ggb03124@...>
Delphi の日付時刻ルーチンを Ruby にポートしようと思っているのですが、次
[#35087] Re: Y Combinator — 正木 功 <GEC01122@...>
正木です。
[#35102] ANNOUNCE: REXML のドキュメントの和訳を公開しました。 — Kouhei Sutou (須藤功平) <kou@...>
はじめまして、須藤です。
なひです。
須藤です。
なひです。
須藤です。
なかだです。
高橋征義です。
なひです。
なひです。
まつもと ゆきひろです
須藤です。
なひです。
Siena. です。
なひです。
[#35109] DOS プロンプトからリダイレクションつきの system — TOYOFUKU Chikanobu <toyofuku@...>
豊福です。
[#35113] Re: Marshallers summary — "NAKAMURA, Hiroshi" <nakahiro@...>
なかひろです。
[#35134] 朝、トーストを食べていると不意に — Shin-ichiro HARA <sinara@...>
「来年から Perl が高校の授業で必修になるってホント?」って
[#35207] tar.gz の展開 — "NAKANO Kouichi" <knuckle@...8.dion.ne.jp>
はじめまして、なかのともうします。
[#35215] ruby-shell-mode — "Shirai,Kaoru" <shirai@...1jp.com>
白井です。
[#35252] ((Time.now)..(Time.now+60)) — Take_tk <ggb03124@...>
たけ(tk)です。
[#35253] ((1.2)..(3.4)).to_a — Take_tk <ggb03124@...>
1.2..3.4 を配列にすると、その範囲に属しない整数「1」が含まれるという点に
まつもと ゆきひろです
たけ(tk)です。
Siena. です。
まつもと ゆきひろです
Siena. です。
青山です。
[#35264] HTML generation library — Wakou Aoyama <wakou@...>
青山です。
[ruby-list:35106] Re: かりー化
酒井です。
From: Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp>
Subject: [ruby-list:35092] Re: かりー化
Date: Mon, 13 May 2002 19:53:25 +0900
> 情報満載なので、いつも「日々の流転」楽しみにしております。_o_
うおぉ、そんな風に思われていたとは光栄です。
> 酒井さんの「メソッドのカリー化」のコードは載せないんですか?
では載せましょう。
ただ、こっちは
・ブロックの事を考慮してない
・UnboundMethodを使ってるので継承と相性が悪そうだ
といった理由で自分ではイマイチだと思っています。
require 'thread'
class Module
CURRYING_METHOD_TABLE_ = Array.new
CURRYING_METHOD_TABLE_MUTEX_ = Mutex.new
def currying(name, arity=nil)
m = instance_method(name)
if m.arity == 0
return
elsif m.arity > 0
arity = m.arity
else
arity ||= (-m.arity)-1
end
tbl_idx = nil
CURRYING_METHOD_TABLE_MUTEX_.synchronize{
tbl_idx = CURRYING_METHOD_TABLE_.size
CURRYING_METHOD_TABLE_ << m
}
module_eval %Q[
def #{name.to_s}(*args1)
proc = lambda{|*args|
if args.size >= #{arity}
Module::CURRYING_METHOD_TABLE_[#{tbl_idx}].bind(self).call(*args)
else
lambda{|*a| proc.call(*(args + a))}
end
}
proc.call(*args1)
end
]
end
end
class <<self
define_method(:currying, method(:currying).to_proc)
end
if __FILE__ == $0
def hello(a, out)
out.printf("Hello, %s!\n", a)
end
currying :hello
hello_ruby = hello("Ruby")
hello_ruby[STDOUT] #=> Hello, Ruby!
end
> そういえば「カリー化」の定義を言わないと。
すっかり忘れていました。(^^;;
僕は正確な定義は良く知らないのですが、原さんが下に書いているように
X×Y→Z のような多引数の関数を X→(Y→Z) というような
_関数を返り値とする_1引数の関数に変換する事をカリー化と呼ぶらしいです。
Rubyで使う場合には、引数の数を1個に制限するよりは
一度に可変個の引数を受け取れた方が嬉しいだろうという事で、
このようなコードにしてみました。
> 多変数の関数、例えば f(x, y, z) に、対して
>
> F(x)(y)(z) = f(x, y, z)
>
> を満たすような、関数の関数の、、、関数 F を作る事をカリー化って
> いうんですよね。ここではその Proc バージョンであると。
-- さかい