[#36058] Windows で Thread — rio-t@...
こんにちは、高石です。
14 messages
2002/10/01
[#36059] Re: Windows で Thread
— "U.Nakamura" <usa@...>
2002/10/01
こんにちは、なかむら(う)です。
[#36060] Re: Windows で Thread
— rio-t@...
2002/10/01
こんにちは、高石です。
[#36061] Re: Windows で Thread
— Tietew <tietew-ml-ruby-list@...>
2002/10/01
[#36069] 日本語に混じった URL を抜き出したい — keiichi matsunaga <ma2@...>
松永です。
26 messages
2002/10/02
[#36072] Re: 日本語に混じった URL を抜き出したい
— keiichi matsunaga <ma2@...>
2002/10/02
松永です。
[#36073] Re: 日本語に混じった URL を抜き出したい
— SAITO Shukaku <shukaku@...>
2002/10/02
At Wed, 2 Oct 2002 13:51:42 +0900,
[#36074] Re: 日本語に混じった URL を抜き出したい
— Tatsuhiko Miyagawa <miyagawa@...>
2002/10/02
宮川です。
[#36106] Ruby Weekly News mail archive on blade? — Tanaka Akira <akr@...17n.org>
ふと気がついたんですが、Ruby Weekly News は blade には archive されな
7 messages
2002/10/05
[#36114] RubyのXML対応に関する質問 — Shibukawa Yoshiki <yoshiki@...>
渋川です。
5 messages
2002/10/06
[#36117] 閉じたbinding — Takashi Tsugoh <tks@...>
こんばんは、Tsugohです。
7 messages
2002/10/06
[#36140] rindaで例外を通知する方法? — SAITO Shukaku <shukaku@...>
rindaとwebrickを使ってweb用アプリケーション(と言うのかな?)を作っていま
8 messages
2002/10/11
[#36161] gc_sweepでアボート — 原田 潤 <j-harada@...4u.or.jp>
原田と申します。
10 messages
2002/10/17
[#36178] utf-8 対応 nkf 拡張モジュールについて — たむらけんいち <sgs02516@...>
たむらです。御相談。
9 messages
2002/10/20
[#36186] csvweb.cgi error — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
5 messages
2002/10/21
[#36188] Re: 日本語の字を書くGUIプログラム — Philip Mak <pmak0@...>
--- Philip Mak <pmak0@yahoo.com> wrote:
4 messages
2002/10/21
[#36192] RUBY_PLATFORM にはどんなものがある? — Take_tk <ggb03124@...>
たけ(tk)です
5 messages
2002/10/23
[#36205] [ANN] Ruby/Qte 0.2 — HIDAKA Takahiro <cv8t-hdk@...>
ひだかです。
10 messages
2002/10/27
[#36217] Re: Ruby/Qte 0.2
— SAITO Shukaku <shukaku@...>
2002/10/28
At Sun, 27 Oct 2002 14:03:33 +0900,
[#36226] Re: Ruby/Qte 0.2
— HIDAKA Takahiro <cv8t-hdk@...>
2002/10/29
ひだかです。
[ruby-list:36125] Re: 閉じた binding
From:
UENO Katsuhiro <unnie@...>
Date:
2002-10-06 23:36:25 UTC
List:
ruby-list #36125
うえのです。
On Mon, 7 Oct 2002 01:48:46 +0900
Takashi Tsugoh <tks@dive-in.to> wrote:
> >ええと、僕も同じようなことを考えて書いたコードがあります。
> > http://www.blue.sky.or.jp/atelier/ruby/wakaba/wakaba-0.1.0.tar.gz
> >の中の lib/wakaba/pbinding.rb ってファイルです。
>
> 参照させて頂きました。
>
> なるほど…、特異クラスを作り、その中で、メタ機能により削除可能な定数を経由して
> ローカル変数を生成するという方法なんですね。
> こんなやり方があったとは、目から鱗が落ちます。
最初に思いついたのはこんな感じでした。
variables = { 'foo' => 1, 'bar' => 2 }
keys = variable.keys
carrier = keys.shift
s = "def tmp_binding(#{carrier});"
keys.each { |k| s << "#{k}=#{carrier}[#{k.dump}];" }
s << "#{carrier}=#{carrier}[#{dump.carrier}];"
s << "binding;end"
module_eval s
b = tmp_binding(variables)
複雑すぎるのでボツにしましたが ;p
> ただ、ソースを読ませて頂いていて二つほどわからないことがありました。
>
> 1) protected_binding の最後で
> klass.module_eval{ :TOPLEVEL_BINDING, b }
> とされているのはどういう理由なんでしょうか?
> 勉強不足のため理解できていません(汗)
> (簡易版ではわからないままに付けています(^^;)
eval するスクリプトから本物の TOPLEVEL_BINDING を隠すための措置です。
気休めにはなるかな、と思い。
> 2) Wakaba::ProtectedBinding で
> carrier << '_' while parameters.key? carrier
> としていますが、これも理解できてません(汗)
parameters の中に 'VARIABLE' が含まれている可能性があるからです。
ProtectedEval#[]= では定数を拒否していますが、例えば lib/wakaba/erb.rb
の Wakaba::ERbViewEval クラスみたいな使い方をすることも想定してます。
-- ---- - - - -- -
うえの かつひろ <unnie@blue.sky.or.jp>