[#10007] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...>

青山です。

31 messages 2000/06/11
[#10008] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/11

青山です。

[#10018] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/13

前田です。

[#10027] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10028] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10029] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/13

前田です。

[#10035] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10038] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/14

前田です。

[#10041] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10045] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10046] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10047] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10048] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10135] don't use mktemp() — Shugo Maeda <shugo@...>

前田です。

35 messages 2000/06/27
[#10136] Re: don't use mktemp() — matz@... (Yukihiro Matsumoto) 2000/06/27

まつもと ゆきひろです

[#10137] Re: don't use mktemp() — Shugo Maeda <shugo@...> 2000/06/27

前田です。

[#10141] Re: don't use mktemp() — kjana@... (YANAGAWA Kazuhisa) 2000/06/27

In message <874s6f1rqj.wl@studly.netlab.co.jp>

[#10143] Re: don't use mktemp() — WATANABE Hirofumi <eban@...> 2000/06/27

わたなべです.

[#10181] Re: don't use mktemp() — Katsuyuki Komatsu <komatsu@...> 2000/07/03

小松です。

[#10183] Re: don't use mktemp() — WATANABE Hirofumi <eban@...> 2000/07/03

わたなべです.

[ruby-dev:10092] 正規表現で見落とし?

From: ARIMA Yasuhiro <fit0298@...>
Date: 2000-06-20 08:01:39 UTC
List: ruby-dev #10092
有馬です。

String にメソッドを追加して、100kbytes ぐらいのバイナリデータを
抱えて処理したのですが、ruby 1.4.4 (2000-04-14) [i686-linux] だと
うまく動きませんでした。
前後を比較すると正規表現の処理で見落としがあるようです。
\020\003 が \003 に置き換わることを期待しているのですが、
\020\020\020\003 以外でも残っていました。

class String
  DLE = 020
  CAN = 003
  PLUSCHR = '+'

  def decode_1()
    st = self.dup
    st.gsub!( /(#{DLE.chr})(#{PLUSCHR})/o ) { $2 }
    st.gsub!( /(#{DLE.chr})(#{CAN.chr})/o ) { $2 }
    st.gsub!( /(#{DLE.chr})(#{DLE.chr})/o ) { $2 }
    st
  end
end

以下のように書くと期待どおりに動作します。

  def decode_2()
    st = self.dup
    st.gsub!( /\020\+/o )   { '+' }
    st.gsub!( /\020\003/o ) { "\003" }
    st.gsub!( /\020\020/o ) { "\020" }
    st
  end

ruby 1.5.4 (2000-06-05) [i686-linux] でも期待通り動作しました。

--
 有馬 康弘 <fit0298@fitec.co.jp>

In This Thread

Prev Next