[#36239] ar=[];ar[0]+=2でエラー — Masahiro Sato <msato@...>

142 messages 2002/11/01
[#36240] Re: ar=[];ar+=2でエラー — SAITO Shukaku <shukaku@...> 2002/11/01

At Fri, 1 Nov 2002 17:50:11 +0900,

[#36242] Re: ar=[];ar+=2 でエラー — Nakamura Akifumi <BXQ04723@...> 2002/11/01

[#36263] Re: ar=[];ar+=2でエラー — Fujimaru Hiroyasu <f-hiro@...> 2002/11/02

 藤丸です。

[#36278] Re: ar=[];ar+=2でエラー — Kazuhiro NISHIYAMA <zn@...> 2002/11/03

西山和広です。

[#36279] Re: ar=[];ar+=2でエラー — Fujimaru Hiroyasu <f-hiro@...> 2002/11/03

 藤丸です。

[#36281] Re: ar=[];ar+=2でエラー — Kenta MURATA <muraken2@...> 2002/11/03

むらけんです.

[#36282] Re: ar=[];ar+=2でエラー — HIDAKA Takahiro <cv8t-hdk@...> 2002/11/03

 ひだかです。結構現状追認系の意見も多いみたいですが・・

[#36290] Re: ar=[];ar+=2でエラー — MORITA Naoyuki <naohaq@...> 2002/11/03

森田と申します。

[#36304] Re: ar=[];ar+=2でエラー — 堀川 久 <vzw00011@...> 2002/11/03

こんにちは。

[#36310] Re: ar=[];ar+=2でエラー — WATANABE Hirofumi <eban@...> 2002/11/03

わたなべです。

[#36311] Re: ar=[];ar+=2でエラー — 堀川 久 <vzw00011@...> 2002/11/03

こんにちは。

[#36315] Re: ar=[];ar+=2でエラー — matz@... (Yukihiro Matsumoto) 2002/11/03

まつもと ゆきひろです

[#36316] Re: ar=[];ar+=2でエラー — Tanaka Akira <akr@...17n.org> 2002/11/03

In article <1036352263.849985.17004.nullmailer@picachu.netlab.jp>,

[#36317] Flyaway — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/11/04

金光といいます。質問させてください。

[#36318] Re: Flyaway — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/11/04

添付ファイルが落ちてましたすみません。

[#36319] Re: Flyaway — Masatoshi SEKI <m_seki@...> 2002/11/04

[#36320] Re: Flyaway — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/11/04

金光です。咳さん、どもっ。

[#36321] Re: Flyaway — Masatoshi SEKI <m_seki@...> 2002/11/04

咳といいます。

[#36322] Re: Flyaway — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/11/04

金光です。どもっ。あとすこし

[#36344] Re: ar=[];ar+=2でエラー — WATANABE Hirofumi <eban@...> 2002/11/04

わたなべです。

[#36347] Re: ar=[];ar+=2でエラー — Tanaka Akira <akr@...17n.org> 2002/11/04

In article <20021104160723.757540.eban@os.rim.or.jp>,

[#36367] Re: ar=[];ar+=2でエラー — matz@... (Yukihiro Matsumoto) 2002/11/05

まつもと ゆきひろです

[#36383] Re: ar=[];ar+=2でエラー — Tanaka Akira <akr@...17n.org> 2002/11/07

In article <1036531761.901892.25889.nullmailer@picachu.netlab.jp>,

[#36386] Re: ar=[];ar+=2でエラー — matz@... (Yukihiro Matsumoto) 2002/11/07

まつもと ゆきひろです

[#36394] Re: ar=[];ar+=2でエラー — Tanaka Akira <akr@...17n.org> 2002/11/07

In article <1036640262.362098.10433.nullmailer@picachu.netlab.jp>,

[#36241] NET:::HTTPで教えてください — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/11/01

金光です。どもっ。

[#36244] Re: NET/HTTPで教えてください — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/11/01

金光です。お世話になります。

[#36247] Re: NET/HTTPで教えてください — rubikitch <rubikitch@...> 2002/11/01

From: 金光雅夫 (KANEMITSU Masao) <masao-k@a-net.email.ne.jp>

[#36250] Re: NET/HTTPで教えてください — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/11/01

金光です。どもっ。

[#36252] Re: NET/HTTPで教えてください — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/11/01

金光です。困惑

[#36371] クラス変数をクラスメソッドから参照する — Takashi Kanai <kanai@...4u.or.jp>

こんにちは、金井です。

14 messages 2002/11/06

[#36532] Linux Magazine Ruby初等講座 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

19 messages 2002/11/19

[#36563] [ANN] Ruby/Cache 0.2 — "Yoshinori K. Okuji" <okuji@...>

Ruby/Cache 0.2をリリースしました。Ruby/Cacheは、LRUアルゴリズムに基い

20 messages 2002/11/22

[#36612] 全角文字に挟まれた半角スペースを削除するには? — Take_tk <ggb03124@...>

16 messages 2002/11/28
[#36614] Re: 全角文字に挟まれた半角スペースを削除するには? — WATANABE Tetsuya <tetsu@...> 2002/11/28

渡辺哲也です。

[#36617] Re: 全角文字に挟まれた半角スペースを削除するには? — Take_tk <ggb03124@...> 2002/11/28

たけ(tk)です

[ruby-list:36355] Re: はじめまして

From: rubikitch <rubikitch@...>
Date: 2002-11-04 18:43:44 UTC
List: ruby-list #36355
From: KAWAGOE Hitoshi <eliezer@mcn.ne.jp>
Subject: [ruby-list:36350] Re: はじめまして
Date: Mon, 4 Nov 2002 23:08:13 +0900

るびきちです。

> # Rubyに慣れると、他の言語はアセンブラのように感じますね
> # っていいすぎだろうか
いや、俺もそう思ってますw

> # 生涯はじめてのプログラミング言語としてRubyを選んだ
> # 川越さんが、Rubyをみすてるのか、さてまた惚れ込むのか
あなたは非常にラッキーですよ。
ちょこっとテキストで遊ぶのにスクリプト言語はうってつけ、
おまけにrubyは楽しいですから!!

ちなみに俺はCが最初だったので棘の道でした(涙)。

> 具体的には,各レコードがタブ区切りのテキスト,
> | A1  B1  C1  Str0  E1  F1  G1
> | A2  B2  C2  Int1  E2  F2  G2
> | A3  B3  C3  Int2  E3  F3  G3
> | :  :  :   :   :  :  : #以下3行単位で全72行
> というパターンのログがあるとして,このなかで必要な要素
> は4つ目の列「Str0, Int1, Int2」です.
> 
> 目指すのは,上のログをコンマ区切りのテキストに変換して,
> | Str0,Int1,Int2
> | Str0,Int1,Int2
> |  :   :   :  #以下全24行
> という形式にできたら良いなと思っています.

/tmp/test.log というファイルに処理前のログが入っているとして、
こんなのはどうでしょうか?
答えの一つとしてさくっとかいてみました。
結果を標準出力に出力します。
この手の問題の答えは何通りもあります。

open( "/tmp/test.log" ) do |f|      # ブロックなのでclose忘れがない!
  ary = []     # 4番目の列を格納する配列
  while line = f.gets
    ary << line.split(/\t/)[3]     # 4番目の列を ary にどんどん放り込む
  end

  # ここからは出力処理。aryに放り込まれた値をガンガン出力
  ary.each_with_index do |x, i|   # Enumerable#each_with_indexは便利ですよ。
    print x
    if i%3 == 2
      print "\n"
    else
      print ","
    end
  end
end


もっとrubyらしく書いたらこんな感じに。
Enumerable#collectを使っています。
で、collectの返り値にeach_with_indexを適用するとaryという変数を使う必要がなくなります。

しかも、ifって値を持つんですよ〜
i%3==2のとき"\n"を返し、そうでないときは","を返す。
これがifの返り値。
4番目の列xにその返り値を(文字列的に)足すとこんな感じに。

rubyの美しさの一つでしょう。

    
open( "/tmp/test.log" ) do |f|
  f.readlines.collect {|line|
    line.split(/\t/)[3]
  }.each_with_index {|x, i|
    print x + if i%3 == 2
                "\n"
              else
                ","
              end
  }
end

    
    
    

    
    

るびきち☆
http://www.ruby-lang.org/~rubikitch/ ←Ruby大衆化計画(笑)


In This Thread