[前][次][番号順一覧][スレッド一覧]

learn-ruby-in-kansai:891

From: cuzic <tomoya@c...>
Date: Sun, 09 Oct 2005 08:22:16 +0900
Subject: [learn-ruby-in-kansai:891] Re: 勉強会 不参加(;_;)

cuzic です。

とりあえず、Array#transpose を使う方法を。

~/tomoya/ruby/fukui> ruby -e '
> data = ARGF.read.split(/[\r\n]+/).map{|line| line.split(",")}.transpose
> data.sort_by{|n,v| v}.each{|n,v| puts "#{n},#{v}"}
> ' data2.csv
VB,10
Java,20
C,30
Ruby,50

data という変数はあった方が美しいかな。

ステートメントを1つにしつつ、多少一般化すると、次みたいなかんじ。

ruby -e 'puts (ARGF.read.split(/[\r\n]+/).
  map{|line| line.split(",")}.transpose.
  sort_by{|*args| args[1].to_i}.map{|*args| args.join(",")}.
  join("\n"))' data2.csv

メソッド呼び出しと、{} の優先順位がよく分からないので、括弧付。

でわでわ。

On Sun, 09 Oct 2005 03:51:38 +0900 (JST)
Nobuhiro IMAI <nov@y...> wrote:

> いまいです。
> 
> From: UENO Katsuhiro <unnie@b...>
> Subject: [learn-ruby-in-kansai:889] Re: 勉強会 不参加(;_;)
> Date: Sun, 09 Oct 2005 01:15:02 +0900 (JST)
> 
> > うえのです.
> > 
> > On Fri, 07 Oct 2005 20:28:40 +0900
> > FUKUI Osamu <o-fukui@p...> wrote:
> > 
> > > 【Ruby入門者への課題 3 】 
> > > 課題2で、言語と評価点の組みは4つでしたが、これが5つ
> > > でも6つでも最初の入力ファイルのデータの個数に従って
> > > 可変に対応できるようにする。
> > 
> > 他の課題を含んでいるのでこれだけ解答.
> > 
> > ruby -e 'gets.chomp.split(",").zip(gets.chomp.split(",")).sort { |(_,a),(_,b)| a <=> b}.each { |n,v| puts "#{n},#{v}" }' < data2.csv > out2.csv
> 
> 評価点は to_i (to_f ?) して比べないと VB が 9 点だったりするとエライこ
> とに。あと、改行コードは悩ましいかも。
> 
> File.open("out2.csv", "w") do |out2|
>   l, s, p = File.read("data2.csv").split(/([\r\n]+)/).map{|i|i.split(",")}
>   out2.print(l.zip(p).sort_by{|a,b|b.to_i}.map{|a,b|"#{a},#{b}#{s}"}.join)
> end
> 
> 僕にはこの辺が限界です。
> # さっぱり美しくない…orz
> --
> Nobuhiro IMAI <nov@y...>
> Key fingerprint = F39E D552 545D 7C64 D690  F644 5A15 746C BD8E 7106
> 
> --
> ML: learn-ruby-in-kansai@r...
> 使い方: http://QuickML.com/
> 公式ページ: http://jp.rubyist.net/?KansaiWorkshop
> 過去ログ: http://www.fdiary.net/ml/learn-ruby-in-kansai/

-- 
cuzic <tomoya@c...>
プログラミングは素晴らしい http://www.cuzic.com/



--
ML: learn-ruby-in-kansai@r...
使い方: http://QuickML.com/
公式ページ: http://jp.rubyist.net/?KansaiWorkshop
過去ログ: http://www.fdiary.net/ml/learn-ruby-in-kansai/

[前][次][番号順一覧][スレッド一覧]

       884 2005-10-07 13:28 [o-fukui@p...        ] 勉強会 不参加(;_;)                      
       889 2005-10-08 18:15 ┗[unnie@b...          ]                                       
       890 2005-10-08 20:51  ┗[nov@y...            ]                                     
->     891 2005-10-09 01:22   ┗[tomoya@c...         ]                                   
       892 2005-10-09 09:58    ┗[xml@t...            ]                                 
       893 2005-10-09 10:50     ┣[xml@t...            ] 勉強会ありがとうございました。
       894 2005-10-09 11:14     ┗[moriq@m...          ]                               
       896 2005-10-09 14:33      ┗[xml@t...            ] 改題:ActiveRecordでの不具合
       900 2005-10-10 09:39       ┗[gollum@h...         ]                           
       910 2005-10-10 14:26        ┗[xml@t...            ]