[#34722] cgi.rb の form の挙動 — FUJIOKA Takeyuki <fujioka@...>

藤岡です。

18 messages 2002/04/02

[#34724] 「たのしい Ruby 」 — Shin-ichiro HARA <sinara@...>

原(信)です。

18 messages 2002/04/02
[#34728] Re: 「たのしい Ruby 」 — matz@... (Yukihiro Matsumoto) 2002/04/02

まつもと ゆきひろです

[#34746] Re: 「たのしい Ruby 」 — TAKAHASHI Masayoshi <maki@...> 2002/04/02

高橋征義です。

[#34752] Re: 「たのしい Ruby 」 — Shin-ichiro HARA <sinara@...> 2002/04/03

原(信)です。

[#34842] [ann] Web 家計簿(β版)リリース — 堀川 久 <vzw00011@...>

こんにちは。

18 messages 2002/04/07
[#34869] Re: [ann] Web 家計簿(β版)リリース — Nobuhide Kanagawa <nobuhide@...> 2002/04/11

こんばんわ!

[#34885] creating a scope / anonymous module — Takaaki Tateishi <ttate@...>

立石です.

38 messages 2002/04/13
[#34891] Re: creating a scope / anonymous module — nobu.nakada@... 2002/04/14

なかだです。

[#34892] Re: creating a scope / anonymous module — Takaaki Tateishi <ttate@...> 2002/04/14

At Sun, 14 Apr 2002 18:00:12 +0900,

[#34894] Re: creating a scope / anonymous module — nobu.nakada@... 2002/04/14

なかだです。

[#34896] Re: creating a scope / anonymous module — Takaaki Tateishi <ttate@...> 2002/04/14

At Sun, 14 Apr 2002 21:08:47 +0900,

[#34899] Re: creating a scope / anonymous module — matz@... (Yukihiro Matsumoto) 2002/04/15

まつもと ゆきひろです

[#34901] Re: creating a scope / anonymous module — Takaaki Tateishi <ttate@...> 2002/04/15

At Mon, 15 Apr 2002 09:51:05 +0900,

[#34902] Re: creating a scope / anonymous module — matz@... (Yukihiro Matsumoto) 2002/04/15

まつもと ゆきひろです

[#34903] Re: creating a scope / anonymous module — Takaaki Tateishi <ttate@...> 2002/04/15

At Mon, 15 Apr 2002 13:53:53 +0900,

[#34904] Re: creating a scope / anonymous module — matz@... (Yukihiro Matsumoto) 2002/04/15

まつもと ゆきひろです

[#34910] Re: creating a scope / anonymous module — Takaaki Tateishi <ttate@...> 2002/04/15

At Mon, 15 Apr 2002 15:07:57 +0900,

[#34958] windows 版 ruby でシステムコマンドが動かない — "jazzski _comp" <jazzski_comp@...>

はじめてrubyを使うのですが、windows版(cygwin版1.6.1)で下記のように

12 messages 2002/04/23

[ruby-list:34912] Re: creating a scope / anonymous module

From: Tanaka Akira <akr@...17n.org>
Date: 2002-04-15 09:12:08 UTC
List: ruby-list #34912
In article <200204150826.RAA09230@mailrelay.jaist.ac.jp>,
  Takaaki Tateishi <ttate@kt.jaist.ac.jp> writes:

> はい.それでは今回話題に出そうと思ったきっかけとなったコードを簡略化
> したものを出します.与えられたルールに従ってprocオブジェクトをつくり
> 出すことを考えます.

うぅむ、高階関数な話か... でもちょっと関数型プログラミングとしては中途
半端かな。関数型で書くなら

def mk_encoders(rule)
  [
    rule.inject(proc{|s| s}) {|r, enc|
      case r
      when "A"
        proc{|s| enc.call(s) + "A"}
      when "B"
        proc{|s| enc.call(s) + "B"}
      end
    },
    rule.inject(proc{|s| s}) {|r, enc|
      case r
      when "A"
        proc{|s| enc.call(s) + "a"}
      when "B"
        proc{|s| enc.call(s) + "b"}
      end
    }
  ]
end

あるいは、(ループの各ステップで encoder1 が encoder2 に影響を与えるなら)

def mk_encoders(rule)
  rule.inject([proc{|s| s}, proc{|s| s}]) {|r, (enc1, enc2)|
    [
      case r
      when "A"
        proc{|s| enc1.call(s) + "A"}
      when "B"
        proc{|s| enc1.call(s) + "B"}
      end,
      case r
      when "A"
        proc{|s| enc2.call(s) + "a"}
      when "B"
        proc{|s| enc2.call(s) + "b"}
      end
    ]
  }
end

ないしは

def mk_encoders(rule)
  rule.inject([proc{|s| s}, proc{|s| s}]) {|r, (enc1, enc2)|
    case r
    when "A"
      [proc{|s| enc1.call(s) + "A"}, proc{|s| enc2.call(s) + "a"}]
    when "B"
      [proc{|s| enc1.call(s) + "B"}, proc{|s| enc2.call(s) + "b"}]
    end
  }
end

かなぁ、とか思ったりして。

# inject は要 1.7 だけど。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)

In This Thread