タグ

ブックマーク / rubyco.hatenadiary.org (1)

  • make_rangeを作る - rubyco(るびこ)の日記

    弾さんのfor(1..1e10) と Iteratorを読んで、make_rangeをRubyで書いてみました。 def make_range(now, limit) lambda { now <= limit ? (now += 1) - 1 : nil } end sum = 0 # r = make_range(1, 1e7) r = make_range(1, 1000000) # 1e7だと終わらなかったので、1e6にしました while x = r.call sum += x end puts sum はじめ、now += 1がpost incrementでないことに気づかず、計算が合わなくて焦りました。 参照: 仮想的な無限列 追記:誤解を招くような書き方でしたが、1e7だと終わらなかったので、1e6にしたのでした。kmdsbngさん、ごめんなさい。 追記:きゃあ。やろうとし

    make_rangeを作る - rubyco(るびこ)の日記
    odz
    odz 2006/12/22
    Range.new de
  • 1