[#14185] ruby on Linux/m68k — akira yamada / やまだあきら <akira@...>
[#14196] fork() on MacOS — nobu.nakada@...
なかだです。
[#14206] undef_method :method_missing — Kenichi Komiya <kom@...1.accsnet.ne.jp>
なかだです。
なかだです。
金光です。
むらけんです.
金光です。
金光です。
金光です。
金光です。どもっ。
むらけんです.
なかだです。
金光です。どもっ。
金光です。
金光です。FOXとかもあるのかぁ。すげぇなぁ。
まつもと ゆきひろです
金光です。御大、待ってましたっ。
なかだです。
金光です。どもどもっ。
なかだです。
さくです。
まつもと ゆきひろです
金光です。どもっ。
まつもと ゆきひろです
金光です。どもどもっ。
まつもと ゆきひろです
岩月と申します。
金光です。どもっ。
岩月と申します。
むらけんです.
楠です
むらけんです.
有馬です。
金光です。
有馬です。
金光です。どもっ。
とみたです。
金光です。
とみたです。
金光です。
まつもと ゆきひろです
金光です。(^_^;
あづみです。
有馬です。
金光です。
有馬です。
金光です。どもっ。
有馬です。
むらけんです.
むらけんさん wrote:
むらけんです.
長沢です。
まつもと ゆきひろです
金光です。どもっ。
有馬です。
金光です。どもどもっ。
むらけんです.
金光です。いちおうフォローだけ
ふなばです。
一応フォローだけ、ほんとにちょっとだけっすよ
[#14229] [BUG] segv on [str].pack("p") — Koji Arai <JCA02266@...>
新井です。
なかだです。
新井です。
なかだです。
[#14338] setup.rb (Re: Common GUI framework) — Minero Aoki <aamine@...>
あおきです。
[#14382] [BUG] segv on regex matching with long string — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
[#14390] [Patch] pp.rb and debug.rb — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
In article <DJEGJLCFNEIMKDNMLFPHCEPJCAAA.nakahiro@sarion.co.jp>,
なひです。
まつもと ゆきひろです
In article <DJEGJLCFNEIMKDNMLFPHCEPJCAAA.nakahiro@sarion.co.jp>,
あおきです。
In article <20010809221751J.aamine@mx.edit.ne.jp>,
なひです。書き忘れ。
なかだです。
nobu.nakada@nifty.ne.jpさんの
なひです。
なかだです。
In article <DJEGJLCFNEIMKDNMLFPHMEAHCBAA.nakahiro@sarion.co.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHEEAICBAA.nakahiro@sarion.co.jp>,
なひです。
まつもと ゆきひろです
In article <997774251.527258.14423.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <997783083.657819.14685.nullmailer@ev.netlab.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHEEALCBAA.nakahiro@sarion.co.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHEEAPCBAA.nakahiro@sarion.co.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHMEBACBAA.nakahiro@sarion.co.jp>,
なひです。
In article <DJEGJLCFNEIMKDNMLFPHIEBBCBAA.nakahiro@sarion.co.jp>,
うぅむ。ぼーっとしてたら意味もなく Subject を変えてしまった。
In article <20010817205051.UAZHC0A8274C.C78F0C8A@mail.biglobe.ne.jp>,
あづみです。
In article <hvo66bnxe4b.fsf_-_@flux.etl.go.jp>,
古い話題で恐縮ですが…
なかだです。
In article <200109290948.f8T9mbh12942@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
まつもと ゆきひろです
In article <1001945748.240863.24023.nullmailer@ev.netlab.jp>,
なかだです。
In article <200110020334.f923YLb08299@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200110021010.f92AAIb13474@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
In article <1002080461.740444.11187.nullmailer@ev.netlab.jp>,
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
あづみです。
[#14406] typo in ruby 1.7 — Koji Arai <JCA02266@...>
新井です。
[#14413] 1.7.1 2001-08-06: if true && /match/ — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#14465] Ruby/Bsearch — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
At Wed, 15 Aug 2001 18:01:50 +0900,
"Akinori MUSHA" <knu@iDaemons.org> wrote:
In article <20010816001456V.satoru@namazu.org>,
Tanaka Akira <akr@m17n.org> wrote:
In article <20010816130056C.satoru@namazu.org>,
[#14480] avoid compile warning of tcltklib with VC5 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
[#14505] BUG: ruby 1.6.4 cannot use threads on Sparc (segv) — akira yamada / やまだあきら <akira@...>
[#14530] restore terminal mode even if readline interrupted. — Koji Arai <JCA02266@...>
新井です。
新井です。
新井です。
新井です。
At Wed, 5 Sep 2001 00:19:51 +0900,
まつもと ゆきひろです
[#14552] read in IO#eof? — nobu.nakada@...
なかだです。
[#14575] infinite loop on Dir.glob("*/**/*") — nobu.nakada@...
なかだです。
[#14577] option nodynamic — Daisuke Aoki <dai@...>
青木@横浜です。
[#14595] SEGV at `$0 = "long long string"' — nobu.nakada@...
なかだです。
なかだです。
まつもと ゆきひろです
[ruby-dev:14500] Re: Ruby/Bsearch
Tanaka Akira <akr@m17n.org> wrote:
>という 3つに分割できる場合、
> a < b のときには a..(b-1) を返し、
> a >= b のときには nil を返すわけですが、
>これを a < b か a >= b かにかかわらず a...b を返すようにするというのは
>いかがでしょう?
こんなもんすかね。
% irb -r ./bsearch.rb
>> %w(a b c c c d e f).bsearch_range {|x| x <=> "c"}
=> 2...5
>> %w(a b c d e f).bsearch_range {|x| x <=> "c"}
=> 2...3
>> %w(a b d e f).bsearch_range {|x| x <=> "c"}
=> 2...2
これはなかなかいいかも。
>ついでに bsearch_first や bsearch_last でも常に a や b - 1 を返すとい
>うのは... まぁこれはやりすぎか。
上の bsearch_range の挙動を実現するために
bsearch_first_boundary, bsearch_last_boundary を追加しました。
マニア向けですね。
--
高林 哲 (Takabayashi, Satoru)
http://namazu.org/~satoru/
#
# Ruby/Bsearch - a binary search library for Ruby.
#
# Copyright (C) 2001 Satoru Takabayashi <satoru@namazu.org>
# All rights reserved.
# This is free software with ABSOLUTELY NO WARRANTY.
#
# You can redistribute it and/or modify it under the terms of
# the Ruby's licence.
#
# Example:
#
# % irb -r ./bsearch.rb
# >> %w(a b c c c d e f).bsearch_first {|x| x <=> "c"}
# => 2
# >> %w(a b c c c d e f).bsearch_last {|x| x <=> "c"}
# => 4
# >> %w(a b c e f).bsearch_first {|x| x <=> "c"}
# => 2
# >> %w(a b e f).bsearch_first {|x| x <=> "c"}
# => nil
# >> %w(a b e f).bsearch_last {|x| x <=> "c"}
# => nil
# >> %w(a b e f).bsearch_first_boundary {|x| x <=> "c"}
# => 2
# >> %w(a b e f).bsearch_last_boundary {|x| x <=> "c"}
# => 1
# >> %w(a b c c c d e f).bsearch_range {|x| x <=> "c"}
# => 2...5
# >> %w(a b c d e f).bsearch_range {|x| x <=> "c"}
# => 2...3
# >> %w(a b d e f).bsearch_range {|x| x <=> "c"}
# => 2...2
module Bsearch
VERSION = '1.2'
end
class Array
#
# The binary search algorithm is extracted from Jon Bentley's
# Programming Pearls 2nd ed. p.93
#
#
# Return the lower boundary. (inside)
#
def bsearch_first_boundary (range = 0 ... self.length)
low = range.first() -1
high = if range.exclude_end? then range.last else range.last + 1 end
while low + 1 != high
mid = (low + high) / 2
if yield(self[mid]) < 0
low = mid
else
high = mid
end
end
return high
end
#
# This method searches the FIRST occurrence which satisfies a
# condition given by a block in binary fashion and return the
# index of the first occurrence. Return nil if not found.
#
def bsearch_first (range = 0 ... self.length)
boundary = bsearch_first_boundary(range)
if boundary >= self.length || yield(self[boundary]) != 0
return nil
else
return boundary
end
end
alias bsearch bsearch_first
#
# Return the upper boundary. (inside)
#
def bsearch_last_boundary (range = 0 ... self.length)
low = range.first() -1
high = if range.exclude_end? then range.last else range.last + 1 end
while low + 1 != high
mid = (low + high) / 2
if yield(self[mid]) <= 0
low = mid
else
high = mid
end
end
return low
end
#
# This method searches the LAST occurrence which satisfies a
# condition given by a block in binary fashion and return the
# index of the first occurrence. Return nil if not found.
#
def bsearch_last (range = 0 ... self.length)
boundary = bsearch_last_boundary(range)
if (boundary <= -1 || yield(self[boundary]) != 0)
return nil
else
return boundary
end
end
#
# Return the search result as a Range object.
#
def bsearch_range (range = 0 ... self.length)
first = bsearch_first_boundary(range)
last = bsearch_last_boundary(range)
return first ... last + 1
end
end