[#10553] base64.rb — Sinichiro Dezawa <dezawa@...>
出沢です
原です。
まつもと ゆきひろです
笠原です。こんにちは。
出沢です
出沢です
まつもと ゆきひろです
matz> kconvにかけるってのは反則ですか? 今のkconvはB-encodingをデ
>あー、そんなのがあったのか。反則だ。
dezawa> >あー、そんなのがあったのか。反則だ。
わたなべです.
watanabe> 何も指定しなくていいです. もともとは nkf で
まつもと ゆきひろです
matz> エンコードにはpack("m")がお勧めなのかなあ.
dezawa> 手を付け兼ねてるのは、
わたなべです.
watanabe> エスケープとか全部含めて encode する必要があります.
わたなべです.
watanabe> といろいろ問題はあるけど pack("m") は encode した結果が長く
わたなべです.
watanabe> 自前で細切れに処理しないとだめかな?
あおきです。
aamine> さらに難しくしてしまうのもなんなんですが
出沢@フジフイルム です
あおきです。
すばやい
井上@三菱電機 です。
出沢です
後藤@太陽計測です
保科です。
後藤@太陽計測です
保科です。
後藤@太陽計測です
出沢@フジフイルム です
保科です。私も続けちゃいますが…
後藤@太陽計測です
出沢@フジフイルム です
[#10589] LoadError on FreeBSD 3.0-RELEASE — gotoken@... (GOTO Kentaro)
ごとけんです
えぐち@エスアンドイー です。
わたなべです.
ごとけんです
首藤です。
[#10639] tgif_expr — aito@...
あ伊藤です.
[#10665] World Wide grep — toyofuku@...
豊福@パパイヤです。
[#10676] 11/10 tokyo offline meeting — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
松尾です。
わたなべです.
[#10690] ruby-mode.el — Takao KAWAMURA <kawamura@...>
ruby-mode.el($Revision: 1.1.1.2.2.20 $)には、以下のような問
[#10697] Re: 11/10 tokyo offline meeting — KIMURA Koichi <kkimura@...>
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
Regard to "[ruby-list:10738] Re: 11/10 tokyo offline meeting"
けいじゅ@日本ラショナルソフトウェアです.
立石です。
In message "[ruby-list:10765] Re: 11/10 tokyo offline meeting"
鄭です。
では 「やぐら茶屋」NSビル店 で一応決まりということで?
鄭です。
[#10747] ruby 1.1c7 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
保科です。
笠原です。
保科です。
笠原です。
笠原です。
[#10767] HttpTunnelServer shoud be run as root ? — Kikutani Makoto <kikutani@...>
きくたにです。
[#10772] Re: 11/10 tokyo offline meeting — ARIMA Yasuhiro <fit0298@...>
有馬@新宿NSビルの大時計がわからず目の前の本屋で聞いてしまったです。
[#10788] 0th(?) Ruby Conference Report — greentea@...2.so-net.ne.jp (Tomoyuki Kosimizu)
こんにちは、越水です。
前田@リコーです。
まつもと ゆきひろです
[#10799] make ruby on WinNT with VC++6.0 — Koji Oda <oda@...1.qnes.nec.co.jp>
小田@QNES です。
[#10831] shard-library support by libtool — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイー です。
[#10879] Re: 組み込み関数と同じ名前 — "MAEDA Shugo" <shugo@...>
前田@大阪大学です。
[#10904] ruby 1.1c8 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
よしだです
わたなべです.
[#10910] require error (tkutil.so -> tk.so) — ttate@...
立石です。
まつもと ゆきひろです
わたなべです.
わたなべです.
まつもと ゆきひろです
保科です。
[#10951] great ideas — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#10973] gets のクラス — Yoshiki WADA <wada@...>
和田といいます。
まつもと ゆきひろです
[#10976] スコープの範囲 — Koji Arai <JCA02266@...>
新井です。
[#11015] バックスラッシュのエスケープ — Yoshiki WADA <wada@...>
和田です。
[#11031] Linux Japan Jan., 1999 — ozawa@...
さくです。
[#11035] inspect, to_s — "D.Kanda" <MAP2303@...>
[#11054] ruby-list offline meeting at 11/27 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
残念なのですが、出沢は無理そうです。
まつもと ゆきひろです
岩室@富士通です。
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
佐藤です。まるでRubyに貢献してないけど参加してみたいなー
けいじゅ@日本ラショナルソフトウェアです.
[#11081] postgres-0.4.tar.gz — Masatoshi SEKI <m_seki@...>
[#11082] MacRuby — Wakou Aoyama <wakou@...>
青山です。
[#11099] Re: ruby-list offline meeting at 11/27 — toyofuku@...
豊福@パパイヤです。
[#11119] 拡張モジュールの Makefile — IKARASHI Akira <ikarashi@...>
五十嵐@東京理科大学です。
立石です。
五十嵐です。
[#11121] parser — ttate@...
立石です。
[#11132] BUG? Array.rassoc — 民斗 <tommy@...>
Array.rassoc が期待通りに動かなかったので、ソースを見てみたら
[ruby-list:10996] Re: スコープの範囲
新井です。
ちょっと引用が多くて長くなってしまいましたが御勘弁
を。
>>> From: matz@netlab.co.jp (Yukihiro Matsumoto)
>>> Date: Fri, 20 Nov 1998 11:38:47 +0900
>>> Subject: [ruby-list:10983] Re: スコープの範囲
> Rubyのローカル変数の有効範囲は静的に決まります
「静的」の意味がよくわからなかったのですが、コンパ
イル時にスコープを決めているということでしょうか?
で、結局は
「定義より前の"行"で、ローカル変数が有効になることはない」
ということになる?
#!/usr/local/bin/ruby
eval %q{
$a = "a"
def b; "b" end
c = "c"
}
begin
p $a
p b
p c
rescue NameError
p "undefined"
end
__END__
"a"
"b"
"undefined"
これは、evalが独自のスコープを持っているからではな
く、コンパイルが別に行われているからと解釈すればよ
いのかな?
まぁ、結局は
「evalは、イテレータと同じようにローカル変数のスコープを持つ」
ということになる?
"イテレータと同じように"というのは重要(後述)
>>> From: Shin-ichro Hara <sinara@blade.nagaokaut.ac.jp>
>>> Date: Fri, 20 Nov 1998 12:28:14 +0900
>>> Subject: [ruby-list:10990] Re: スコープの範囲
> 原です。
>
> ローカル変数のスコープで注意すべきことについて、くどくど
> 書いたのが [ruby-list:1212] にあります。よろしかった御覧
> 下さい。
>
拝見させて頂きました。ありがとうございます。
以下、サンプルスクリプト以外を引用させて頂きました。
>>> From: sinara@blade.nagaokaut.ac.jp
>>> Date: Mon, 9 Dec 96 16:40:56 JST
>>> Subject: [ruby-list:1212] Summary (Re: [Q] Scope of local variable)
> 原です。
>
> << 局所変数について >>
>
> 【1】ローカル変数のバインドは静的に行われ、ローカル変数は最初の代
> 入文で定義される。
>
> この場合、静的とは、実行前にスクリプトのコード上で、という感じの
> 意味。
>
「静的に」という用語が…
再掲、
「*いかなる場合でも*定義より前の"行"で、ローカル変
数が有効になることはない」
あってます?
「ローカル変数のスコープは定義からブロック(?)の終りまで」
の方がいいかなぁ。
> 【2】イテレータのブロックでは、そこで初めて定義されたローカル変数は
> 局所化される。
> イテレータではブロック外部のローカル変数(小文字で始まるの変数)にアク
> セス出来る。
局所化されるかどうかを文法で区別できないのは少し痛
いですね。
イテレータを書くときは、常に局所変数の名前がダブら
ないように気を使わなくてはいけないですから。
evalも同じ。
#!/usr/local/bin/ruby
$assign = %Q{v = "2"; p v}
eval $assign # => 1 局所化されてる
v if defined(?v) # =>
v = 1 # eval より前に定義
p v # => 1
eval $assign # => 2 局所化されない
p v # => 2 eval によって値が壊される
__END__
でも、いまさら my(perl)やglobal(tcl)は導入したくないなぁ。
> メソッドの定義では外部のローカル変数(小文字で始まるの変数)にアクセス
> できない。
これは、自然に受け入れられる
>
> 【3】定義は、代入を実行することによってなされるのではなく、実行以前に
> スクリプト中に代入文が現れたときになされる、
>
そうだったのか〜。「静的」だからかぁ。
> 【4】定義とは、いわばアクセス権を与えることである。defined?(j) は、
> j という名前の変数へのアクセス権の有無を判定する。その場でアクセ
> ス権がない名前の変数でも、存在していないわけではない。
これもずいぶん特殊ですね。
>
> イテレータブロック内のローカル変数は、各回ごとに消滅する。
>
>
> 他にも気をつけることあるかな。
>
[ruby-list:10854]の
>>> From: matz@netlab.co.jp (Yukihiro Matsumoto)
>>> Date: Mon, 16 Nov 1998 11:27:10 +0900
>>> Subject: [ruby-list:10854] Re: IO#pos=
> いやあ,一般にselfは省略可能なんですが,属性代入に関してはロー
> カル変数の代入と全く区別がつかないので,省略できません.とい
は、重要ですね。私は、これを読むまで xx= メソッド
は作るまいと心に誓ってました。
class Test
attr "v", TRUE
def v1(arg)
self.v = arg # v= メソッド呼び出し
p @v
end
def v2(arg)
v = arg # v= メソッドではなく、局所変数への代入
p @v
end
end
test = Test.new
test.v1(true) #=> true
test.v2(false) #=> true
以上、うーん、さらに複雑にしてしまったなぁ。実際の
ところは、局所変数で困ることはほとんどないんですけ
どね。
おまけ
save, $/ = $/, nil
$_ = gets
$/ = save
こういう書き方は、なんか嫌です。$/ は、gets(nil)で
代用できるからいいんですけど。
というわけで、以下みたいなのを考えて見ました。
#!/usr/local/bin/ruby
#
# perl の local() を実現する (ただし、$global変数だけ)
# (こういうのを「深い束縛(deep binding)」と言うらしい)
#
module LocalScope
def local(global_vars)
save = eval("[" + global_vars + "]")
yield
eval(global_vars + ",*dummy = save")
end
end
include LocalScope
$/, $; = "1", "2"
local("$/, $;") {
$/, $; = "3", "4"
local("$/, $;") {
$/, $; = "5", "6"
p $;, $/
}
p $;, $/
}
p $;, $/
__END__
"6"
"5"
"4"
"3"
"2"
"1"
ほら、perlみたいになった。(汚さが ^^;)
# :symbol が使えればと思ったのですが、:$/ から$/の値
# を取り出す方法がわからなかったんです。