萌え指向プログラミング言語「萌香」のBlog
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 ユメのチカラ Rubyで習作 に吉岡弘隆さんのRubyプログラムが掲載されていていろんな人が添削しています。 プログラムの内容は親(?)ファイルにLinuxディストリビューションのパッケージ情報が入っていて、 (複数の)子(?)ファイルにそれが入っている場合"include"と、入っていない場合"not-include"と表示するものです。 (各行がパッケージ名、各列が各ディストリビューションのテーブルとなる) 個人的には Tociyuki::Diary - 吉岡弘隆さんの「Rubyで習作」を添削 が非常に参考になりました。 特にArrayの最初の要素とそれ以外の要素を分けるために asianux, *dists = ARGV.collect do |filename|とやるとこなんかは自分のイディオムに入ってなかったので大変参考になりました。 自分は最初 mother = ARGV[0] children = ARGV[1..-1]なんてのを考えていました。 自分でやるなら結果をCSV形式にしてこんなかんじにしますでしょうか。 #!/usr/local/bin/ruby mother_name, *child_names = ARGV children = child_names.map {|name| aHash = Hash.new("not-include") IO.foreach(name) {|package_name| aHash[package_name] = "include" } aHash } IO.foreach(mother) {|package_name| tArray = [package_name] \ + children.map {|child| child[package_name] } puts tArray.join(", ") }テストデータがないためデバッグができないのでぜんぜん動かなかったらすみません。 とりあえずHashのデフォルト値を使ったので条件分岐がなくなったのがちょっとした利点です。 PR |
カレンダー
カテゴリー
フリーエリア
最新CM
[11/30 Lehar9296
]
[11/19 Bihler7840
]
[04/09 pavelvolinkins]
最新記事
(05/04)
(03/13)
(02/18)
(10/30)
(04/17)
最新TB
プロフィール
HN:
No Name Ninja
性別:
非公開
ブログ内検索
最古記事
(12/25)
(01/10)
(01/17)
(02/14)
(04/17)
アクセス解析
|