[#10553] base64.rb — Sinichiro Dezawa <dezawa@...>

出沢です

92 messages 1998/11/01
[#10565] Re: base64.rb — Shin-ichiro Hara <sinara@...> 1998/11/01

原です。

[#10583] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/02

まつもと ゆきひろです

[#10595] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/02

出沢です

[#10611] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

出沢です

[#10613] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/04

まつもと ゆきひろです

[#10614] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

matz> kconvにかけるってのは反則ですか? 今のkconvはB-encodingをデ

[#10615] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

>あー、そんなのがあったのか。反則だ。

[#10616] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

dezawa> >あー、そんなのがあったのか。反則だ。

[#10617] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/04

わたなべです.

[#10618] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

watanabe> 何も指定しなくていいです. もともとは nkf で

[#10621] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/04

まつもと ゆきひろです

[#10623] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

matz> エンコードにはpack("m")がお勧めなのかなあ.

[#10635] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

dezawa> 手を付け兼ねてるのは、

[#10642] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10648] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> エスケープとか全部含めて encode する必要があります.

[#10654] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10659] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> といろいろ問題はあるけど pack("m") は encode した結果が長く

[#10663] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10664] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> 自前で細切れに処理しないとだめかな?

[#10672] Re: base64.rb — aamine@... 1998/11/05

あおきです。

[#10673] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

aamine> さらに難しくしてしまうのもなんなんですが

[#10702] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/07

出沢@フジフイルム です

[#10737] Re: base64.rb — aamine@... 1998/11/09

あおきです。

[#10741] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/09

すばやい

[#10796] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/13

出沢です

[#10800] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10801] Re: base64.rb — Toru Hoshina <toru@...> 1998/11/13

保科です。

[#10802] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10804] Re: base64.rb — Toru Hoshina <toru@...> 1998/11/13

保科です。

[#10806] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10676] 11/10 tokyo offline meeting — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

19 messages 1998/11/06

[#10697] Re: 11/10 tokyo offline meeting — KIMURA Koichi <kkimura@...>

35 messages 1998/11/07
[#10721] Re: 11/10 tokyo offline meeting — keiju@... (石塚圭樹 ) 1998/11/08

けいじゅ@日本ラショナルソフトウェアです.

[#10729] Re: 11/10 tokyo offline meeting — matz@... (Yukihiro Matsumoto) 1998/11/09

まつもと ゆきひろです

[#10738] Re: 11/10 tokyo offline meeting — keiju@... (石塚圭樹 ) 1998/11/09

けいじゅ@日本ラショナルソフトウェアです.

[#10743] Re: 11/10 tokyo offline meeting — ARIMA Yasuhiro <fit0298@...> 1998/11/09

Regard to "[ruby-list:10738] Re: 11/10 tokyo offline meeting"

[#10708] Re: 11/10 tokyo offline meeting — TEI meiki <tei@...> 1998/11/07

鄭です。

[#10709] Re: 11/10 tokyo offline meeting — Sinichiro Dezawa <dezawa@...> 1998/11/07

では 「やぐら茶屋」NSビル店 で一応決まりということで?

[#10713] Re: 11/10 tokyo offline meeting — TEI meiki <tei@...> 1998/11/07

鄭です。

[#10747] ruby 1.1c7 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

23 messages 1998/11/09

[#10904] ruby 1.1c8 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

16 messages 1998/11/17

[#10910] require error (tkutil.so -> tk.so) — ttate@...

立石です。

17 messages 1998/11/17
[#10924] Re: require error (tkutil.so -> tk.so) — matz@... (Yukihiro Matsumoto) 1998/11/18

まつもと ゆきひろです

[#10926] Re: require error (tkutil.so -> tk.so) — WATANABE Hirofumi <watanabe@...> 1998/11/18

わたなべです.

[#11054] ruby-list offline meeting at 11/27 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

36 messages 1998/11/26
[#11056] Re: ruby-list offline meeting at 11/27 — Sinichiro Dezawa <dezawa@...> 1998/11/26

残念なのですが、出沢は無理そうです。

[#11057] Re: ruby-list offline meeting at 11/27 — matz@... (Yukihiro Matsumoto) 1998/11/26

まつもと ゆきひろです

[#11061] Re: ruby-list offline meeting at 11/27 — IWAMURO Motonori <iwa@...> 1998/11/26

岩室@富士通です。

[#11062] Re: ruby-list offline meeting at 11/27 — keiju@... (石塚圭樹 ) 1998/11/26

けいじゅ@日本ラショナルソフトウェアです.

[#11067] Re: ruby-list offline meeting at 11/27 — "D.Kanda" <MAP2303@...> 1998/11/26

[#11072] Re: ruby-list offline meeting at 11/27 — keiju@... (石塚圭樹 ) 1998/11/26

けいじゅ@日本ラショナルソフトウェアです.

[ruby-list:10848] IO#pos=

From: Yoshinori Toki <toki@...>
Date: 1998-11-15 16:48:39 UTC
List: ruby-list #10848
はじめまして。
土岐といいます。

ruby で UNIX の look コマンドを作りたくて、perl のライブラリに入ってる 
look.pl を ruby に翻訳したんですが、IO クラスの内側での pos= メソッド
の挙動がなんか変です。

class IO
  def look(key, dict = false, fold = $=)
    s = stat
    size = s.size
    blksize = s.blksize

    raise "zero size exception!" unless size
    blksize = 8192 unless blksize

    key = key.gsub(/[^\w\s]/, "") if dict
    key = key.downcase if fold
    min = 0
    max = size / blksize
    while (max - min > 1)
      mid = (max + min) / 2
      pos=(mid * blksize)
      $stdout.print "tell:#{tell}, pos:#{pos}\n" # debug
      gets if mid		# probably a partial line
      l = gets
      l.chomp!
      l.gsub!(/[^\w\s]/, "") if dict
      l.downcase! if fold
      if (l < key) then
	min = mid
      else
	max = mid
      end
    end

    min *= blksize
    pos=(min)
    $stdout.print "tell:#{tell}, pos:#{pos}\n" # deubg
    gets if min
    while (l = gets)
      l.chomp!
      l.gsub!(/[^\w\s]/, "") if dict
      l.downcase! if fold
      break if (l >= key)
      min = pos
    end
    pos=(min)
    $stdout.print "tell:#{tell}, pos:#{pos}\n" # debug
  end
end

こういうメソッドを IO クラスに追加したんですが、
試しに /usr/share/dict/words を "ruby" で検索すると
デバッグ用の出力はこうなります。

tell:0, pos:1236992
tell:4, pos:1859584
tell:11, pos:2170880
tell:21, pos:2326528
tell:35, pos:2400256
tell:50, pos:2441216
tell:68, pos:2457600
tell:87, pos:2465792
tell:95, pos:2473984
tell:107, pos:2473984
tell:1811096, pos:2473984

ちなみに、ruby のバージョンは 1.1c7(98/11/09) [i386-freebsd2.2.6] です。
メソッド定義の中で pos= を self.pos= or seek(offset, 0) に変更すると

tell:1236992, pos:1236992
tell:1859584, pos:1859584
tell:1548288, pos:1548288
tell:1703936, pos:1703936
tell:1777664, pos:1777664
tell:1818624, pos:1818624
tell:1794048, pos:1794048
tell:1802240, pos:1802240
tell:1810432, pos:1810432
tell:1810432, pos:1810432
tell:1811091, pos:1811091

となり正常に動作します。pos= はデフォルトで self を見に行くはずだから
わざわざ明示的に書く必要はないはずだし、そもそも self を指定しないとき
の動作が意味不明です。pos= メソッドは Maling List のアーカイブで検索し
ても ruby の附属ライブラリを grep しても出て来なかったので、あまり使
われてないみたいですが、これってひょっとしてバグですか?

----------------------------------------------------------------------
土岐 仁謙
神戸大学自然科学研究科前期博士課程物理学専攻高エネルギー物理学講座
Yoshinori Toki
HEP, Department of Physics, Faculty of Science, Kobe University
TEL:	+81 (78) 803 0543
FAX:    +81 (78) 803 0724
URL:	http://www.phys.sci.kobe-u.ac.jp/~toki/toki.html
Email:	toki@hep.phys.sci.kobe-u.ac.jp (public)
Email:  toki@freedom.ne.jp (private)
PGP fingerprint = D0 A8 90 AB 73 F8 34 FE  CE CA DB BF 01 30 C0 35

In This Thread

Prev Next