[#26241] postgres を CGI の中から require できません — ITO Yoshiaki <yoshi@...>
いとう と申します。
[#26253] Perl/Ruby Conference — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
なかだです。
[#26274] アプリにマクロをつけるのについて — polygon <kiyose@...>
ポリゴンです。
[#26278] Ruby/KAKASI bug? — SHIRAKURA Tetsuya <shirakura@...>
しらくらです。
> 次のような,KAKASI で変換する script を実行させると,どんどんメモリを喰
[#26295] tail -f のように読み続ける方法は? — Kazuhiro NISHIYAMA <zn@...>
tail -fのようにだんだん大きくなるファイルを読み込み続けるのは
まつもと ゆきひろです
渡辺哲也です。
On Mon, 4 Dec 2000 10:18:47 +0900
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
とみたです。
まつもと ゆきひろです
ごとうゆうぞうです。
まつもと ゆきひろです
ごとうゆうぞうです。
[#26309] DDJ — KIMURA Koichi <kimura.koichi@...>
[#26313] 並行するスレッドの記述法について — Kenya OGATA <ind.onosetu1@...>
おがたといいます。
なかだです。
おがたです。なかださんコメントありがとうございます。
なかだです。
村木@日立ITです。
なかだです。
村木です
こんにちは、なかむら(う)です。
村木です。
こんにちは、なかむら(う)です。
村木です。
こんにちは、なかむら(う)です。
[#26381] はじめまして — tkondo@...
メーリングリストの皆さんはじめまして。
[#26384] [PATCH] stupid bug/miss — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
[#26413] TMail: UNIX From in MH format(?) — OZAWA -Crouton- Sakuro <crouton@...>
さくです。
[#26415] cgi.rb で InsecureOperation — Takeshi Komiya <katsuwo@...>
青山です。
[#26436] Array#& — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#26475] Regexp.new のオプション — URA Takefumi <hage@...>
こんなことをやってみました。
[#26513] media watch 2000.12.08 — Noritsugu Nakamura <nnakamur@...>
[#26516] n-fold loop — Hiroshi SATO <hiroshi@...>
佐藤と申します.
[#26532] Win で dRuby — m_seki@...
[#26536] ファイル名が文字化け — KUROSAWA Takashi <tabby@...>
Tabby as くろさわ@秩父です。
わたなべです.
[#26547] size of raa — Minero Aoki <aamine@...>
あおきです。
まつもと ゆきひろです
Toshです。
[#26554] Hash.new — Takao KAWAMURA <kawamura@...>
Hash.newの挙動について、理解できないことがありましたので、教
ごとけんです
なかだです。
In message "[ruby-list:26559] Re: Hash.new"
まつもと ゆきひろです
In message "[ruby-list:26564] Re: Hash.new"
At Sun, 17 Dec 2000 02:23:14 +0900,
In message "[ruby-list:26566] Re: Hash.new"
At Sun, 17 Dec 2000 03:28:55 +0900,
まつもと ゆきひろです
デフォルトって、現状だと += などの演算代入しか恩恵を受けない
At Sun, 17 Dec 2000 22:55:30 +0900,
まつもと ゆきひろです
ごとけんです
At Tue, 19 Dec 2000 01:37:31 +0900,
In message "[ruby-list:26619] Re: Hash.new, fetch, block argument, default"
[#26605] [Q] Oracle PL/SQL with bind vars — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋秀仁です。
よしだです
石橋秀仁です。よしださん、リプライありがとうございます。
よしだです
石橋秀仁です。こんばんは。
石橋秀仁です。こんばんは。
渡辺哲也です。
石橋秀仁です。こんばんは。
わたなべです.
なひです。
[#26609] net/http,smtp,pop 1.2 pre 1 — Minero Aoki <aamine@...>
あおきです。
On Mon, 18 Dec 2000 23:04:32 +0900
高橋征義です。
あおきです。
artonです。
[#26628] Hash.reject returns a Hash? — Takao KAWAMURA <kawamura@...>
1.4.6のドキュメントには
わたなべです.
[#26658] cgi.rb and Regexp::last_match — OHSHIMA Ryunosuke <ryu@...>
大島です。
青山です。
まつもと ゆきひろです
青山です。
原です。
まつもと ゆきひろです
有馬です。
まつもと ゆきひろです
At Fri, 22 Dec 2000 15:03:17 +0900,
まつもと ゆきひろです
有馬です。
まつもと ゆきひろです
有馬です。
まつもと ゆきひろです
ごとけんです
新井です。
[#26659] FILE.eof などについて — Hiroyuki Kai <hiroyuki@...104.net>
はじめまして、この度ruby-listに入りました甲斐と申します。
[#26667] racc -E — Tadayoshi Funaba <tadf@...>
ふなばです。
[#26670] Re: cgi.rb and Regexp::last_match — "K.Kosako" <kosako@...>
さっきruby-listに入ったばかりなので、
まつもと ゆきひろです
> まつもと ゆきひろです
まつもと ゆきひろです
前田です。
> 前田です。
前田です。
> 前田です。
前田です。
> 前田です。
[#26700] cygwin 版の eruby が動きません。 — Keisuke Minami <keisuke@...>
こんばんは。三並です。
[#26725] ruby 1.6.2-preview4 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
なかだです。
有馬です。
清水(simtak)@biglobeです。
[#26735] gpib-rb — kiwamu <kiwamu@...>
こんにちは。岡部と申します。
皆さんこんにちは、田鎖です。
皆さん今晩は、田鎖です。
[#26745] misc — "ページコム佐藤" <k-satoh@...>
佐藤@おおいたページです。
[#26750] Ruby SHINNENKAI 2001 — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
[#26803] ruby-mode.el: / — Takao KAWAMURA <kawamura@...>
ruby-mode.el 1.24 の話ですが、例えば
[#26846] Ruby 1.6.2 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#26865] Windows2000 について — 石田 宏香 <h-ishida@...>
はじめまして♪
[#26875] cgi.rb <form>element BUG — MoonWolf <moonwolf@...>
cgi.rb Version 2.1.2 1246行目からの
[#26892] cgi/session.rb を eruby で使用するには — yuichi TAKAHASHI <yuichi@...>
[#26895] Ruby の言語仕様の策定 — Hiroyuki Kai <hiroyuki@...104.net>
甲斐@Ruby超初心者です。
[#26926] RD で引用 — rubikitch <rubikitch@...>
るびきちです。
[#26932] Struct の parse — Keisuke Minami <keisuke@...>
こんばんは。三並です。
[#26949] www.ruby-lang.org で気がついたこと — Keisuke Minami <keisuke@...>
こんばんは。三並です。
[ruby-list:26545] multiple combination (Re: n-fold loop)
原です。
「重複組合せ」でなく、「多重組合せ」のイテレータ化が気になったので書いて
みました。ここにメモします。
「多重組合せ」という用語は多分無くて、「n項係数」みたいなものです。2項係
数というは、nCmと書いて、(x+y)**n の展開に現れる x**m * y**(n-m)
の係数なわけですが、同様に3項係数は(x+y+z)**(p+q+r)に現れる x**p *
y**q * z**r の係数で、(p, q, r)と書いたりします。従って nCm は
(m, n-m)と書けます。
まず、2項係数は
|def comb(n, m = n)
| if m == 0
| yield([])
| else
| comb(n, m - 1) do |x|
| ((x.empty? ? 0 : x.last + 1)...n).each do |i|
| yield(x+[i])
| end
| end
| end
|end
でイテレータ化できるわけですが、これは一般化しにくいので、さらに効率は悪
いのですが素朴な
def comb0(n, m = 0)
if m == 0
yield([])
elsif n == m
yield((0...n).to_a)
else
comb0(n - 1, m) do |x|
yield(x.dup)
end
comb0(n - 1, m - 1) do |x|
yield(x + [n-1])
end
end
end
を元にします。例えば
comb0(5, 3) do |x|
p x
end
の結果は
[0, 1, 2]
[0, 1, 3]
[0, 2, 3]
[1, 2, 3]
[0, 1, 4]
[0, 2, 4]
[1, 2, 4]
[0, 3, 4]
[1, 3, 4]
[2, 3, 4]
です。これを多項化するために、出現したものに1、出現しなかったものに0を割り
振り、インデックスで次のように表現します。
[0, 1, 2] => [1, 1, 1, 0, 0]
[0, 1, 3] => [1, 1, 0, 1, 0]
[0, 2, 3] => [1, 0, 1, 1, 0]
[1, 2, 3] => [0, 1, 1, 1, 0]
[0, 1, 4] => [1, 1, 0, 0, 1]
[0, 2, 4] => [1, 0, 1, 0, 1]
[1, 2, 4] => [0, 1, 1, 0, 1]
[0, 3, 4] => [1, 0, 0, 1, 1]
[1, 3, 4] => [0, 1, 0, 1, 1]
[2, 3, 4] => [0, 0, 1, 1, 1]
そして、インデックスを 0, 1 だけでなく、一般に 0, 1,.. n にしたものが
最終的にほしいもので、次の様になりました。
def mcomb(a, s = (0...a.size).to_a)
if a == []
yield([])
elsif i = a.index(0)
(a = a.dup).slice!(i)
(s = s.dup).slice!(i)
mcomb(a, s) do |x|
yield(x)
end
else
a.each_index do |i|
(b = a.dup)[i] -= 1
mcomb(b, s) do |x|
yield(x + [s[i]])
end
end
end
end
mcomb([3, 2, 1]) do |x|
p x #=>
end
[2, 1, 1, 0, 0, 0]
[1, 2, 1, 0, 0, 0]
[1, 1, 2, 0, 0, 0]
...
[0, 0, 1, 0, 1, 2]
[0, 0, 0, 1, 1, 2]
(計 (3+2+1)!/3!2!1! = 60個)
この mcomb を使って2項係数 comb 相当を書くと
def comb1(n, m)
mcomb([n-m, m]) do |x|
yield( (0...n).find_all{|i| x[i] == 1} )
end
end
です。
順列組合せを総数だけでなく、各要素を列挙するアルゴリズムで示すには、イテ
レータは有効だ、というお話でした。