[#38080] ポートが閉じているときの例外など — Mitsuru Ogino <ogino@...>

荻野と申します。いつも質問や要望ばかりですみません。

36 messages 2003/08/11
[#38086] Re: ポートが閉じているときの例外など — nobu.nakada@... 2003/08/12

なかだです。

[#38088] Re: ポートが閉じているときの例外など — IWAOKA Masahiro <iwaoka@...> 2003/08/12

いわおかです。

[#38091] Re: ポートが閉じているときの例外など — Mitsuru Ogino <ogino@...> 2003/08/12

荻野です。

[#38092] Re: ポートが閉じているときの例外など — nobu.nakada@... 2003/08/12

なかだです。

[#38093] Re: ポートが閉じているときの例外など — IWAOKA Masahiro <iwaoka@...> 2003/08/12

いわおかです。

[#38095] Re: ポートが閉じているときの例外など — Takahiro Kambe <taca@...> 2003/08/12

In message <20030812150516.GV37221@barber.fe.rn.tuat.ac.jp>

[#38102] Re: ポートが閉じているときの例外など — Tetsuo NAKAGAWA <tet@...> 2003/08/14

中川と申します。

[#38121] Re: ポートが閉じているときの例外など — Takahiro Kambe <taca@...> 2003/08/15

In message <20030814.140757.707824131.tetsuo@sapphire.siz.nes.nec.co.jp>

[#38123] Re: ポートが閉じているときの例外など — nobu.nakada@... 2003/08/16

なかだです。

[#38130] Re: ポートが閉じているときの例外など — Takahiro Kambe <taca@...> 2003/08/16

In message <200308160517.h7G5HcPL012839@sharui.nakada.kanuma.tochigi.jp>

[#38137] Re: ポートが閉じているときの例外など — nobu.nakada@... 2003/08/18

なかだです。

[#38139] Re: ポートが閉じているときの例外など — Takahiro Kambe <taca@...> 2003/08/18

In message <200308180959.h7I9xnb7001977@sharui.nakada.kanuma.tochigi.jp>

[#38122] ruby-tcpwrap and mkmf.rb — Takahiro Kambe <taca@...>

こんにちは。

16 messages 2003/08/16
[#38125] Re: ruby-tcpwrap and mkmf.rb — "Akinori MUSHA" <knu@...> 2003/08/16

At Sat, 16 Aug 2003 12:51:55 +0900,

[#38183] String << の動作につきまして — kuto@...

うと と申します。

44 messages 2003/08/22
[#38187] Re: String << の動作につきまして — Take_tk <ggb03124@...> 2003/08/22

たけ(tk)です。

[#38189] Re: String << の動作につきまして — Tadayoshi Funaba <tadf@...5.so-net.ne.jp> 2003/08/23

ふなばです。

[#38190] Re: String << の動作につきまして — Take_tk <ggb03124@...> 2003/08/23

たけ(tk)です。

[#38191] Re: String << の動作につきまして — Tadayoshi Funaba <tadf@...5.so-net.ne.jp> 2003/08/23

ふなばです。

[#38194] Re: String << の動作につきまして — Take_tk <ggb03124@...> 2003/08/23

たけ(tk)です。

[#38196] Re: String << の動作につきまして — Tadayoshi Funaba <tadf@...5.so-net.ne.jp> 2003/08/23

ふなばです。

[#38203] Re: String << の動作につきまして — 西 啓一朗 <receiver@...> 2003/08/23

ども、西啓一朗@Ktouth Brand. です。

[#38208] Re: String << の動作につきまして — Tadayoshi Funaba <tadf@...5.so-net.ne.jp> 2003/08/23

ふなばです。

[#38211] Re: String << の動作につきまして — 西 啓一朗 <receiver@...> 2003/08/24

ども、西啓一朗@Ktouth Brand. です。

[#38195] 理解の進め方(Re: String << の動作につきまして) — Tadashi Oh-Ya <toy@...>

おおやです。

36 messages 2003/08/23
[#38206] 理解の進め方:シュールな世界 — Take_tk <ggb03124@...> 2003/08/23

たけ(tk)です。

[#38233] シュールな名前 — Take_tk <ggb03124@...> 2003/08/25

たけ(tk)です

[#38198] Tmailで送るメールに日付がつけられなくなりました — 川田誠司 <kawada.seiji@...>

はじめまして

11 messages 2003/08/23

[#38256] かみ砕いた説明をすべき範囲 — 西 啓一朗 <receiver@...>

ども。西啓一朗@Ktouth Brand. です。

41 messages 2003/08/26
[#38258] Re: かみ砕いた説明をすべき範囲 — nobu.nakada@... 2003/08/26

なかだです。

[#38261] Re: かみ砕いた説明をすべき範囲 — Take_tk <ggb03124@...> 2003/08/26

たけ(tk)です

[#38262] Re: かみ砕いた説明をすべき範囲 — nobu.nakada@... 2003/08/26

なかだです。

[#38264] Re: かみ砕いた説明をすべき範囲 — Take_tk <ggb03124@...> 2003/08/26

たけ(tk)です

[#38265] Re: かみ砕いた説明をすべき範囲 — IWAOKA Masahiro <iwaoka@...> 2003/08/26

いわおかです。

[#38267] Re: かみ砕いた説明をすべき範囲 — Take_tk <ggb03124@...> 2003/08/26

たけ(tk)です

[#38273] Re: かみ砕いた説明をすべき範囲 — matz@... (Yukihiro Matsumoto) 2003/08/26

まつもと ゆきひろです

[ruby-list:38275] Re: パターンマッチの置換について

From: rubikitch <rubikitch@...>
Date: 2003-08-26 07:41:25 UTC
List: ruby-list #38275
From: hogehoge@swan.syscom.ne.jp
Subject: [ruby-list:38274] パターンマッチの置換について
Date: Tue, 26 Aug 2003 16:07:50 +0900

るびきちです。

> 今、パターンマッチの置換で、はまっています・・・。
正規表現は難しいですね、たしかに。
おれもよくハマります。
自信がないときはirb(irbsh)で正規表現をチェックしながらスクリプトを書いてます。

> 以下の通り、TEXT1.txtの全行から、{・・・}を
> 取り除いて、TEXT2.txtへ書きこみたいのですが、
> 色々他の方法を用いても、どうしても、各行の
> 最初の一個しか取り除いてくれません。
んー、こちらではうまくいきますね(^^;
うまくいかないテキスト例とバージョンをください。

確認したバージョンはこれらです。
ruby 1.6.6 (2001-12-26) [i586-linux]
ruby 1.8.0 (2003-03-03) [i586-linux]


TEXT1 = File.open("/tmp/TEXT1.txt")
TEXT2 = File.open("/tmp/TEXT2.txt","w")

while !TEXT1.eof
        line = TEXT1.gets
        line = line.chomp

        line = line.gsub(/\{.*?\}/,'')
        TEXT2.print(line,"\n")
end

TEXT2.close
TEXT1.close

実行結果は、

cd /tmp/
cat /tmp/TEXT1.txt; echo --------; ruby /tmp/a.rb; cat /tmp/TEXT2.txt
あいあい{あい}う{え}おえ{お}え
あいあい{あい}うえおえ{お}え
あいあい{あい}うえおえおえ
--------
あいあいうおええ
あいあいうえおええ
あいあいうえおえおえ

----
もっとRubyらしく書くとこんな感じでしょうか?
ブロックをつかえばclose不要です。

File.open("/tmp/TEXT1.txt") do |text1|
  File.open("/tmp/TEXT2.txt","w") do |text2|
    while !text1.eof
            line = text1.gets
            line = line.chomp

            line = line.gsub(/\{.*?\}/,'')
            text2.print(line,"\n")
    end
  end
end


というか、chompと行末の"\n"は不要ですね。
File.open("/tmp/TEXT1.txt") do |text1|
  File.open("/tmp/TEXT2.txt","w") do |text2|
    while !text1.eof
            line = text1.gets
            line = line.gsub(/\{.*?\}/,'')
            text2.print(line)
    end
  end
end

IO.foreach(File.foreach)を使うと行ごとに取り出せます。
File.open("/tmp/TEXT2.txt","w") do |text2|
  File.foreach("/tmp/TEXT1.txt") do |line|
    line = line.gsub(/\{.*?\}/,'')
    text2.print(line)
  end
end


さらに、TEXT1の内容を丸ごと読み込んで置換して書き込むこともできます。(要1.8)
俺ならこう書きます。

File.open("/tmp/TEXT2.txt","w") do |text2|
  text2.print File.read("/tmp/TEXT1.txt").gsub(/\{.*?\}/,'')
end


--
面倒ならば、次のファイルを自分用ライブラリflib.rbなどと保存しておいて、

# flib.rb
def readf(fn)
  File.read(fn)
end

class Object
  def writef(fn)
    open(fn,"w"){|f| f.write self.to_s}
  end
end
---

# スクリプト本体
require 'flib'
readf("/tmp/TEXT1.txt").gsub(/\{.*?\}/,'').writef("/tmp/TEXT2.txt")

のように実質一行で済ませることもできます。

それでは。

るびきち☆
http://www.rubyist.net/~rubikitch/ ←Ruby大衆化計画@移転
http://www.rubyist.net/~rubikitch/computer/irbshbook/ ←irbsh本発売

In This Thread