[#28402] crypt — Kenji Noda <zaq94465a@...>
野田です
In message "[ruby-list:28402] crypt"
At Fri, 2 Mar 2001 04:34:52 +0900,
newです.
まつもと ゆきひろです
坂下です。
In message <200103030343.MAA03741@smtp1.dti.ne.jp>
坂下です。
新井です。
ごとけんです
newです.
新井です。
新井です。
In message <200103020836.RAA07709@hanare00.math.sci.hokudai.ac.jp>
At Fri, 2 Mar 2001 18:59:39 +0900,
[#28415] class Real — 正木 功 <GEC01122@...>
正木です。
[#28429] Marshal format version — Takahiro Kambe <taca@...>
再び、こんばんは。
石橋秀仁です。こんにちは。
まつもと ゆきひろです
In message <983957685.946561.24647.nullmailer@ev.netlab.zetabits.com>
[#28435] ruby 1.6.3? — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
もりきゅうです。
もりきゅうです。
もりきゅうです。
わたなべです.
もりきゅうです。
なかだです。
もりきゅうです。
もりきゅうです。
なかだです。
もりきゅうです。
[#28441] constant in module_eval — Kenichi Komiya <kom@...1.accsnet.ne.jp>
[#28454] Ruby 初心者は! — 有瀬 和徳 <crush@...>
Kazunori Aruse
[#28485] ruby/tk TkEntry#selection_present bug? — Noritsugu Nakamura <nnakamur@...>
新井です。
永井@知能.九工大です.
永井@知能.九工大です.
新井です。
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
新井です。
[#28530] テキストファイルを固定文字数で切って、行番号をつけるプログラム — Keisuke Minami <keisuke@...>
こんばんは。三並です。
新井です。
[#28536] DATA.rewind — URA Takefumi <hage@...>
浦と申します。
[#28565] 海外無料サーバ — 有瀬 和徳 <crush@...>
有瀬です。
[#28577] field sort — Kenji Noda <zaq94465a@...>
野田と申します
[#28599] 1.6 のダウンロードマニュアルが圧縮されていない? — Keisuke Minami <keisuke@...>
こんばんは。三並です。
From: Keisuke Minami <keisuke@rccn.com>
SHIBATA Hiroshiです。
In message "[ruby-list:28602] Re: 1.6 のダウンロードマニュアルが圧縮されていない?"
SHIBATA Hiroshiです。
From: Keisuke Minami <keisuke@rccn.com>
newです.
From: "丹生 光則 Nibu,Mitsunori." <nibu@tec.osaka.jip.co.jp>
newです.
From: "丹生 光則 Nibu,Mitsunori." <nibu@tec.osaka.jip.co.jp>
さくです。
青木@横浜です。
From: Daisuke Aoki <dai@sweetparty.ne.jp>
青木@横浜です。
Toshです。
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
Toshです。
青木@横浜です。
青木@横浜です。
[#28630] nest of Hash.new — Sato Hiroshi <hiroshi@...>
佐藤です.
[#28642] substr — Akihiro Yamauchi <aygoofy@...>
こんばんは。
[#28660] ruby termios library — akira yamada / やまだあきら <akira@...>
[#28691] Dir#glob of mswin32 — "たけ(tk)" <ggb03124@...>
mswin32 の Dir#glob はパスを入れても、パスを無視してしまうようです。
[#28715] GC — OHARA Shigeki <os@...>
大原です。
[#28764] Win32_process.create PID — Koga Atsushi <kog@...>
みなさまこんばんわ。
artonです。
[#28773] [Q] ChibiXML のサンプルみたいなもの — eda@...
えだです。
高橋征義です。
まつもと ゆきひろです
うえの@ぶるーすかいです。
[#28780] revenge of shell.rb — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#28789] freeze した文字列の書き換えチェック方法 — nekurai@...
ども、根暗井です ^^)
[#28794] undef singleton method — "K.Kosako" <kosako@...>
特異メソッドを未定義(undef)にするには、
[#28798] RubyUnit で、 initialize メソッドのようなことをしたい — "IKAGAWA, Kauztomo" <k_ikagawa@...>
お世話になります。いかがわと申します。
[#28814] fgets — Kazuhiro NISHIYAMA <zn@...>
C言語のfgetsのようなサイズ制限付きのgetsをしようとすると
[#28852] Re: [ruby-ext:01642] Re: o_dbm — keiju@... (石塚圭樹)
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
[#28855] NetBSD BSD/OS curses — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#28862] media watch 2001.03.18 — Noritsugu Nakamura <nnakamur@...>
[#28864] patch glob for MSWin32 ruby-1.6.3 — arton <arton@...>
artonです。
[#28881] 初歩的な質問 — Kenji Noda <zaq94465a@...>
野田です。
[#28887] cygwin で組み込み — "shibata kenji" <shibata@...>
柴田です。
わたなべです。
わたなべ様ありがとうございます。
[#28901] Numeric.new — "たけ(tk)" <ggb03124@...>
Numeric.new があって Fixnum.new がないようです。Fixnum はいいとして、
原です。
たけ(tk)です。
[#28903] lndir.rb でエラー — みかみ まさと <kofukan@...>
みなさん、こんにちは。みかみにございます。
[#28911] media watch 2001.03.22 — akira yamada / やまだあきら <akira@...>
こんばんは。三並です。
前田です。
こんばんは。三並です。
Keisuke Minami さん、こんにちは。Ta-ku-ya II です。
こんばんは。三並です。
Keisuke Minami さん、こんにちは。Ta-ku-ya II です。
[#28919] RD の Reference について — Kenta MURATA <muraken2@...>
むらけんです.
前田です。
[#28954] erb のバグ (ローカル変数が未定義になってしまう) — Keisuke Minami <keisuke@...>
こんにちは。三並です。
[#28963] Re: 9p L 3〜10 P 2 L 2 回目 — Naoto Hiroshima <taisei-in@...>
こんにちは(^_^)
[#29021] [ruby/GD] GD.so not found? — AKJ <ml@...>
はじめて参加させていただきます。
[#29023] 配列に要素を挿入 — Kenji Noda <zaq94465a@...>
野田と申します
From: Kenji Noda <zaq94465a@cat.zero.ad.jp>
箱崎です。
Hiroshi Hakozaki wrote:
新井です。
新井です。
[#29037] forwardable-1.0 release — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
Toshです。
まつもと ゆきひろです
Toshです。
けいじゅ@日本ラショナルソフトウェアです.
Toshです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
わたなべです。
けいじゅ@日本ラショナルソフトウェアです.
[ruby-list:28388] Re: argument to instance_eval block(Re:
原です。
>正木です。
>原 信一郎様、御教示有難うございます。
>"Ruby プログラミング入門" は分かりやすくて、愛読しています。
ありがとうございます。
>ただ DelayedList の所は理解するのに苦労しました。
あそこは唐突に難しくなっているので、今「正木−青木」による Sequence
の例を、あの前に紹介すべきだったと後悔しています。改訂の時は入れまし
ょう。
>(ほかには問題の instance_eval)
instance_eval についてはほとんど解説しませんでした。これも手落ち。
>これは私の script で $mod=2 としたものと本質的には同じものだとおもいますが、
>break 行の 100 を m に変えると意図通りには動きません。
>これは致命的な欠陥だと思って採用しなかったわけです。
>Prime の定義のなかでの m は本来 dummy(他の変数名とぶつからなけku齊
>何を使ってもいい)変数の筈なのに、この場合はこの block が mai
>n の
>context で評価されるため dummy になりません。
>こういう場合は他では絶対に使わないような変数名を使いなさいという
>解決策は、Programming の基本に反する(dummy は dummy であku驍ラきだ
>いう意味で)と思うので受け入れられません。
なるほど。(所々文字化けしているので適当に想像して返事します。)
ブロックを関数のオブジェクト化だと思って使うと、ここが気持ち悪いですね。
確かにその通りです。これについてはこの ML でも何度か話題になったと思い
ます。
>第2引数の必要性についてですが、……
>
>p (Prime*Power[2])[m]
>
>とやれば当然 error になります。
これは Prime*Power[2] が p の引数と解釈されているからです。(「入門」
の p.75 にも少し解説しましたが。) p() の戻り値 nil に [] が施されて
います。
さて、ローカル変数をブロックに限定して使うことは instance_eval をも
ってしてもできません。ここはやはり関数を定義してそれを渡すしかないで
しょう。
class Sequence
include Enumerable
def initialize( list, &block )
@list = list
@proc = block
end
def []( n )
@list[n] ||= @proc.call( self, n )
end
def each
i = 0
loop do
yield self[i]; i += 1
end
end
def *(y)
x=self
Sequence.new([]){|seq,n| x[n]*y[n]}
end
end
m = ARGV[0].to_i
def (Power = {}).[]( x )
super || Power[x] = Sequence.new([1]) {|seq, n| x * seq[n-1] }
end
def self.sieve(seq, n)
m = seq[n - 1] + 2
m += 2 while seq.find{|k|
break if k * k > m
m % k == 0
}
m
end
Prime = Sequence.new([2,3], &method(:sieve))
p((Power[2]*Prime)[m])
ここでは method で Method オブジェクトを生成して、それを渡していますが、
あっさり :sieve をシンボルとしてそのまま渡して send して使うのも軽くて
いいかと思います。
でも sieve というメソッド名の痕跡がトップレベルの self 内で干渉するので、
あおきさんなら、
Prime = Sequence.new([2,3], & Object.new.instance_eval{
def sieve(seq, n)
m = seq[n - 1] + 2
m += 2 while seq.find{|k|
break if k * k > m
m % k == 0
}
m
end
self}.method(:sieve))
とここまでやるかもしれません。(^^;
なお、この一時的な環境のための instance_eval の利用法は
http://www1.u-netsurf.ne.jp/~brew/mine/ja/ruby/iter.html
にあります。因みに、さまざまな動的な手続きの利用法のコレクションが
http://blade.nagaokaut.ac.jp/~sinara/ruby/rubynyumon-2000/programing1.html
にあります。参考になるかも。(ならないかも。)
>無限数列や級数に使うのが主な目的なのでこれが出来ないと使い物になりま
>せん。(Cauchy 列または級数として実数そのものを表す Real class kul
>ていますが実行速度に問題があり実用的なものは未だ出来ません。)
特定の数を表現する Cauchy 列を作ることはできるでしょうが、一般には
例えばある数列が Cauchy 列であるか否かを答える述語の様なものは作れ
ないのではないと思います。
>これは便利だと思ってくれた人が一人もいなかったのがちょっと残念だった
>ので、最後に使用例を少しだけ:
いえ、大変興味深いです。数そのものではなく、数を求めるアルゴリズムを計算
対象とすることで、無限精度の計算ができますね。
数学がからんでくるお話なら是非 ruby-math へお越しください。