[#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:34923] Re: creating a scope / anonymous module

From: Takaaki Tateishi <ttate@...>
Date: 2002-04-16 09:34:53 UTC
List: ruby-list #34923
立石です.

今のところ,僕が思い出すのはすべてproc{}やブロックなど遅延評価が関係し
ているものでした.そこで,スコープを作るのではなくて,ブロックが作られ
た時点で評価される仕組みなどを導入するのはどうですか?
深く考えてはいませんが,たとえば,'(ダッシュ)によって変数(or 式)はその
場で評価されるようにするというものです.

a = 1
b = 1
f = proc{ a' + b }   # 'aが評価されて proc{ 1 + b } として作られる
a = 2
b = 2
g = proc{ (a + b)' } # (a + b)が評価されて proc{ 4 } として作られる
b = 3

f.call # => 4
g.call # => 4

こっちの方が受け入れ難い/分かり難いですか?
変数の名前は変わらないですし,スコープもネストしません.
先のencoderの例だと次のようにできることを期待しています.

def mk_encoders(rule)
  encoder1 = proc{|s| s}
  encoder2 = proc{|s| s}
  rule.each{|r|
    case r
    when "A"
      encoder1 = proc{|s| encoder1'.call(s) + "A"}
    when "B"
      encoder1 = proc{|s| encoder1'.call(s) + "B"}
    end

    case r
    when "A"
      encoder2 = proc{|s| encoder2'.call(s) + "a"}
    when "B"
      encoder2 = proc{|s| encoder2'.call(s) + "b"}
    end
  }
  return [encoder1, encoder2]
end
f1,f2 = mk_encoders(["A","B","C"])
p f1.call("foo")
p f2.call("foo")
-- 
Takaaki Tateishi <ttate@kt.jaist.ac.jp>

In This Thread