[#13434] irb message typo — Kazuhiro NISHIYAMA <zn@...>
typoだと思います。
[#13455] ext/extmk.rb.in — Kazuhiro NISHIYAMA <zn@...>
ext/extmk.rb.inですが、'w'でopenするのならreadable?ではなく
わたなべです。
[#13463] [BUG?] mutex_m.rb — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
[#13479] [BUG] Segmentation fault — Kazuhiro NISHIYAMA <zn@...>
文字列操作しているところで[BUG] Segmentation faultとでて
まつもと ゆきひろです
In <991811793.511554.930.nullmailer@ev.netlab.zetabits.com>
まつもと ゆきひろです
[#13486] drive letter on mingw32 — nobu.nakada@...
なかだです。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
[#13493] yield *[[]] — Tanaka Akira <akr@...17n.org>
しばらく前に、yield *[[]] の挙動に関して bug report をして、まつもとさ
なかだです。
In article <200106071409.XAA21101@sharui.nakada.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <991988462.179562.20598.nullmailer@ev.netlab.zetabits.com>,
まつもと ゆきひろです
In article <992009406.425405.24078.nullmailer@ev.netlab.zetabits.com>,
まつもと ゆきひろです
asgn.rb を読んでみましたが... なんというか nil.to_a が [] であることを
まつもと ゆきひろです
In article <992022213.746115.25347.nullmailer@ev.netlab.zetabits.com>,
前田です。
Shugo Maedaさんの<87lmn336s3.wl@localhost.netlab.jp>から
前田です。
Shugo Maedaさんの<87hexr316u.wl@localhost.netlab.jp>から
前田です。
まつもと ゆきひろです
前田です。
In article <m38zj242y9.wl@localhost.localdomain>,
原です。
In article <4.3.2-J.20010612154813.02c89a70@blade.nagaokaut.ac.jp>,
原です。
In article <4.3.2-J.20010612185543.00c8b988@blade.nagaokaut.ac.jp>,
まつもと ゆきひろです
In article <992410104.066682.22743.nullmailer@ev.netlab.zetabits.com>,
In article <hvor8wo501g.fsf@flux.etl.go.jp>,
まつもと ゆきひろです
In article <992533086.935976.4066.nullmailer@ev.netlab.zetabits.com>,
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
金光です。
まつもと ゆきひろです
金光です。
前田です。
けいじゅ@日本ラショナルソフトウェアです.
金光です。(^_^)
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
[#13535] File::fnmatch to go — "Akinori MUSHA" <knu@...>
そろそろ File::fnmatch の件を決着させたいので最終提案です。
[#13564] Dir::open(){} — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#13624] Forward: Re: [ruby-talk:16677] Re: Problem running irb with Ruby 1.6.4 under FreeBSD 4.0 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです。
[#13626] Syncronizing the 1.6 libraries with the 1.7 ones — "Akinori MUSHA" <knu@...>
標準添付ライブラリの 1.6 と 1.7 での違いを調べてみたのですが、
[#13631] 超漢字 ruby が落ちる — "TOYOFUKU Chikanobu" <toyofuku@...>
豊福です。
[#13650] Re: [ruby-ext:01803] Re: Ruby/SDL on PS2 LinuxKit — WATANABE Hirofumi <eban@...>
わたなべです。
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
こんにちは、なかむら(う)です。
まつもと ゆきひろです
なかだです。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
有馬です。
なかだです。
有馬です。
In message <200107301156.AA00175@fit0298.fitec.co.jp>
[#13652] very long array and GC. — Tanaka Akira <akr@...17n.org>
ふと、とても長い配列を使う機会があったのですが、なんとなく遅いことに気がつきました。
Tanaka Akiraさんの<hvoithjwz23.fsf@flux.etl.go.jp>から
In article <200106260640.PAA12913@zeus.sofnec.co.jp>,
まつもと ゆきひろです
In article <993540668.285220.13545.nullmailer@ev.netlab.zetabits.com>,
[#13666] net/http.rb warnings — nobu.nakada@...
なかだです。
あおきです。
なかだです。
[#13668] ruby_m17n make error — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
まつもと ゆきひろです
高橋征義です。
まつもと ゆきひろです
高橋征義です。
豊福です。
[#13672] irb/ruby-lex.rb — GOTO Kentaro <gotoken@...>
引数の数が間違ってるのは確かですが、これで正しいのか自信はあ
[#13705] eval(code, true, filename) — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
前田です。
Shugo Maedaさんの<wkithdwg3r.wl@STUDLY.priv.netlab.jp>から
[ruby-dev:13503] Re: yield *[[]]
まつもと ゆきひろです
In message "[ruby-dev:13496] Re: yield *[[]]"
on 01/06/08, Tanaka Akira <akr@m17n.org> writes:
|いまの挙動で決定というわけでもない(と思っている)のでリリースしないのが
|正解かと思います。
今の挙動は私でさえ気がつくバグがあります。
|できれば「新しい挙動は素晴らしい」とか「前のほうが良かった」とか「どっ
|ちも気にくわない」とか感想を聞かせていただけると嬉しいですが。
一応、test first programmingの思想にのっとり、「こんな風にし
ようと思ってます」という仕様を表現してみようと思います。
で、右辺の * の挙動を、私は「右の式の結果を(配列であれば)展
開してソースコードに埋めこんだときと同じ挙動」と見なしている
のに対して、田中さんは「[*r]の省略形」と考えておられるのが違
いなのではないだろうか、という気がしました。
ルールとしては田中さんのものの方がシンプルなのですが(たしか
に私の仕様では組み合わせを考えてるとくらくらしました)、互換
性の点から変更が大きすぎるように感じました。といっても、下に
記述した私の挙動でも非互換性があるんですが。
最大の原因は代入の右辺やyieldやreturnの引数が、配列かそうで
ないかで、挙動がかなり違う(が、それを無視するわけにはいかな
い)って点でしょう。
でも、まだ田中さんの真の意図を読みそこねているような気がする
んで、もうちょっと考えてみます。2日前から考えつづけてるんで
すが、脳の容量が足りないギミです。
まつもと ゆきひろ /:|)
--- asgn.rb
def assert(a, b)
ai = a.inspect
bi = b.inspect
if a != b
print "failed Assertion: <%s> == <%s>\n" % [ai, bi]
else
print "Assertion OK: <%s> == <%s>\n" % [ai, bi]
end
end
# 1-1..1-2
a = nil; assert(a, nil)
a = 1; assert(a, 1)
a = []; assert(a, [])
a = [1]; assert(a, [1])
a = [nil]; assert(a, [nil])
a = [[]]; assert(a, [[]])
a = [*[]]; assert(a, [])
a = [*[1]]; assert(a, [1])
a = [*[1,2]]; assert(a, [1,2])
# 1-3..1-8
a = *nil; assert(a, nil)
a = *1; assert(a, 1)
a = *[]; assert(a, nil)
a = *[1]; assert(a, 1)
a = *[nil]; assert(a, nil)
a = *[[]]; assert(a, [])
a = *[*[]]; assert(a, nil)
a = *[*[1]]; assert(a, 1)
a = *[*[1,2]]; assert(a, [1,2])
# 2-1..2-2
*a = nil; assert(a, [])
*a = 1; assert(a, [1])
*a = []; assert(a, [])
*a = [1]; assert(a, [1])
*a = [nil]; assert(a, [nil])
*a = [[]]; assert(a, [[]])
*a = [*[]]; assert(a, [])
*a = [*[1]]; assert(a, [1])
*a = [*[1,2]]; assert(a, [1,2])
# 2-3..2-8
*a = *nil; assert(a, [])
*a = *1; assert(a, [1])
*a = *[]; assert(a, [])
*a = *[1]; assert(a, [1])
*a = *[nil]; assert(a, [])
*a = *[[]]; assert(a, [])
*a = *[*[]]; assert(a, [])
*a = *[*[1]]; assert(a, [1])
*a = *[*[1,2]]; assert(a, [1,2])
# 3-1..3-2
a,b,*c = nil; assert([a,b,c], [nil, nil, []])
a,b,*c = 1; assert([a,b,c], [1, nil, []])
a,b,*c = []; assert([a,b,c], [nil, nil, []])
a,b,*c = [1]; assert([a,b,c], [1, nil, []])
a,b,*c = [nil]; assert([a,b,c], [nil, nil, []])
a,b,*c = [[]]; assert([a,b,c], [[], nil, []])
a,b,*c = [*[]]; assert([a,b,c], [nil, nil, []])
a,b,*c = [*[1]]; assert([a,b,c], [1, nil, []])
a,b,*c = [*[1,2]]; assert([a,b,c], [1, 2, []])
# 3-3..3-8
a,b,*c = *nil; assert([a,b,c], [nil, nil, []])
a,b,*c = *1; assert([a,b,c], [1, nil, []])
a,b,*c = *[]; assert([a,b,c], [nil, nil, []])
a,b,*c = *[1]; assert([a,b,c], [1, nil, []])
a,b,*c = *[nil]; assert([a,b,c], [nil, nil, []])
a,b,*c = *[[]]; assert([a,b,c], [nil, nil, []])
a,b,*c = *[*[]]; assert([a,b,c], [nil, nil, []])
a,b,*c = *[*[1]]; assert([a,b,c], [1, nil, []])
a,b,*c = *[*[1,2]]; assert([a,b,c], [1, 2, []])
p "----"
# 1-1..1-2
def f; yield nil; end; f {|a| assert(a, nil)}
def f; yield 1; end; f {|a| assert(a, 1)}
def f; yield []; end; f {|a| assert(a, [])}
def f; yield [1]; end; f {|a| assert(a, [1])}
def f; yield [nil]; end; f {|a| assert(a, [nil])}
def f; yield [[]]; end; f {|a| assert(a, [[]])}
def f; yield [*[]]; end; f {|a| assert(a, [])}
def f; yield [*[1]]; end; f {|a| assert(a, [1])}
def f; yield [*[1,2]]; end; f {|a| assert(a, [1,2])}
# 1-3..1-8
def f; yield *nil; end; f {|a| assert(a, nil)}
def f; yield *1; end; f {|a| assert(a, 1)}
def f; yield *[]; end; f {|a| assert(a, nil)}
def f; yield *[1]; end; f {|a| assert(a, 1)}
def f; yield *[nil]; end; f {|a| assert(a, nil)}
def f; yield *[[]]; end; f {|a| assert(a, [])}
def f; yield *[*[]]; end; f {|a| assert(a, nil)}
def f; yield *[*[1]]; end; f {|a| assert(a, 1)}
def f; yield *[*[1,2]]; end; f {|a| assert(a, [1,2])}
# 2-1..2-2
def f; yield nil; end; f {|*a| assert(a, [])}
def f; yield 1; end; f {|*a| assert(a, [1])}
def f; yield []; end; f {|*a| assert(a, [])}
def f; yield [1]; end; f {|*a| assert(a, [1])}
def f; yield [nil]; end; f {|*a| assert(a, [nil])}
def f; yield [[]]; end; f {|*a| assert(a, [[]])}
def f; yield [*[]]; end; f {|*a| assert(a, [])}
def f; yield [*[1]]; end; f {|*a| assert(a, [1])}
def f; yield [*[1,2]]; end; f {|*a| assert(a, [1,2])}
# 2-3..2-8
def f; yield *nil; end; f {|*a| assert(a, [])}
def f; yield *1; end; f {|*a| assert(a, [1])}
def f; yield *[]; end; f {|*a| assert(a, [])}
def f; yield *[1]; end; f {|*a| assert(a, [1])}
def f; yield *[nil]; end; f {|*a| assert(a, [])}
def f; yield *[[]]; end; f {|*a| assert(a, [])}
def f; yield *[*[]]; end; f {|*a| assert(a, [])}
def f; yield *[*[1]]; end; f {|*a| assert(a, [1])}
def f; yield *[*[1,2]]; end; f {|*a| assert(a, [1,2])}
# 3-1..3-2
def f; yield nil; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield 1; end; f {|a,b,*c| assert([a,b,c], [1, nil, []])}
def f; yield []; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield [1]; end; f {|a,b,*c| assert([a,b,c], [1, nil, []])}
def f; yield [nil]; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield [[]]; end; f {|a,b,*c| assert([a,b,c], [[], nil, []])}
def f; yield [*[]]; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield [*[1]]; end; f {|a,b,*c| assert([a,b,c], [1, nil, []])}
def f; yield [*[1,2]]; end; f {|a,b,*c| assert([a,b,c], [1, 2, []])}
# 3-3..3-8
def f; yield *nil; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield *1; end; f {|a,b,*c| assert([a,b,c], [1, nil, []])}
def f; yield *[]; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield *[1]; end; f {|a,b,*c| assert([a,b,c], [1, nil, []])}
def f; yield *[nil]; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield *[[]]; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield *[*[]]; end; f {|a,b,*c| assert([a,b,c], [nil, nil, []])}
def f; yield *[*[1]]; end; f {|a,b,*c| assert([a,b,c], [1, nil, []])}
def f; yield *[*[1,2]]; end; f {|a,b,*c| assert([a,b,c], [1, 2, []])}