トップ «前の日記(2002-07-07) 最新 次の日記(2002-07-09)» 月表示 編集

日々の流転


2002-07-08 [長年日記]

λ. 何とかプロジェクト

偶然ミーティングをやっていた近くを通りかかったので、話を聞いてきた。

λ. 換え字暗号

某氏が、換え字暗号を解読するためのプログラムを書いて実行させていた。暗号化されたデータに適当な換え字を適用して、キーワードがその中に含まれるかどうかで、正しい解読結果の候補を探すという仕組み。しかし、1時間以上たっても終わらないようだ。

単なる換え字暗号なんだから、データ自体を変換するのではなく、キーワードの方を逆変換して検索した方が絶対速いに決まってる。

λ. 『しゃぼてん』 野中 英次

しゃぼてん (モーニングKC)(野中 英次) を読んだ。

Tags:

λ. class From

こんなコードを随分頻繁に書いているような気がする。自然数を0から順番に列挙したくなる事とかって頻繁にあるよね?

class From
  include Enumerable
 
  def initialize(from = 0)
    @from = from
  end
 
  def each
    i = @from
    loop {
      yield i
      i = i.succ
    }
  end
end

それとも、無限大を表わすオブジェクトを作って 0..Infinity とか書けた方が良いのかな? coerceを使って比較演算子を定義するのが面倒そう。

Tags: ruby
本日のツッコミ(全4件) [ツッコミを入れる]
ψ あおき (2002-07-12 03:43)

Inf=1.0/0; (1..Inf).each {} でどうでしょう。<br>upto/stepでもいいですけど。

ψ さかい (2002-07-12 22:22)

そうか、Floatには既に無限大を表わす値があったのですね。<br>すっかり見落としていました。

ψ oo (2002-07-13 06:37)

ruby -e 'a = 2**2**14; b = a+1; i = 1.0/0; p([a==i, i==b, a==b])'

ψ さかい (2002-07-13 16:02)

げ、BignumからFloatに変換されるときに<br>Infinityになってしまう場合があるのか。<br>これは落とし穴ですねぇ。