2007-01-01から1ヶ月間の記事一覧

変数の扱いで悩んだ→解決

hash = Hash.new hash["0"] = 0 hash["1"] = 1 hash["2"] = 1 def fib(n) if hash["#{n}"] then return hash["#{n}"] end f = fib(n-1) + fib(n-2) hash["#{f}"] = f f end (0..40).each do |n| puts "F_{#{n}} = #{fib(n)}" end ↑のプログラムを動かそうと…

双子素数の大きさ、記録更新

http://mathworld.wolfram.com/TwinPrimes.html 見つかった双子素数は、だそうです。十進表記だと58711桁の数…。 ってtextfile.orgに書いたんだけど、Rubyですぐに計算できることに気がつきました。 puts "#{2003663613 * (2 ** 195000)}±1" 実行結果です(…

クラス変数の新しいルール

http://www.rubyist.net/~matz/20070104.html#p03 なかなか難しい。 でも、もともとクラス変数を使うケースは少ない(だろう)から、良いのかな?

Array#compact

Array#compactは、nil以外の要素を集めた新しい配列を作って返します。 まず、compactしない場合の例。 p [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7].map {|k| if k >= 5 then k else nil end } #=> [nil, nil, nil, nil, 5, 9, nil, 6, 5, nil, 5, 8, 9, …

文字のエンコーディングに関する「富豪的プログラミング」?

かずひこさんの「tDiary UTF8 化計画」を読んでふと思ったこと。 http://kazuhiko.tdiary.net/20070107.html#p02 文字のエンコーディングに関する「富豪的プログラミング」はあり得るだろうか。 つまり、(1) すべてのエンコーディングのリソースを準備してお…

マクロとリフレクションの関係?

最上先生の文章を読んで… http://homepage3.nifty.com/mogami/diary/d0701.html#08t1 マクロが無い言語ではプログラムしたくないと考える私のような人間からすると、Rubyにマクロを入れることを拒絶し続けることは前から不思議だった。 以下は、結城がぼんや…

Rubyのインスタンスベース的な側面

sumimさんのRuby の落とし穴 2から引用。 クラスベースにはないインスタンスベースの本質は(よく言われるように、newを使わずcloneを使うとか、クラスの有り・無し、あるいは、継承ではなく委譲ベースだとかではなく…)、インスタンスがクラスを介さずに個…

まつもとゆきひろ−第2回:Rubyを開発するということ

http://www.rubyist.net/~matz/20061228.html#p01 Matzさんは、 「組み合わせることも才能」と言ってくださった方もいるし、そういう才能が存在しうることを否定はしないけど、私の場合、どっちかっていうと才能よりも「偶然うまくいった」ってところなんじ…