2018-02-23

5個セット 飯器 金布目飯器2人用メシベラ付 [18 x 10cm] 【 料亭 旅館 和食器 飲食店 業務用】 キッチン柄 プレゼント 堺孝行シェフ和庖丁

プログラムは,人がやるには苦痛を伴う単調な作業を正確に素早く行ってくれます.機械的に測定した実験データなどは,決まった処理を繰り返し行わなければならないことがあります.このような処理が,プログラムは大変得意です.

ここではRubyプログラムの便利さの一端を感じるため,「カンマで区切られた数値の,各行の平均値を取って出力する」という極簡単な処理を行ってみます.

5個セット 飯器 金布目飯器2人用メシベラ付 [18 x 10cm] 【 料亭 旅館 和食器 飲食店 業務用】激安アウトレット店舗

名前は結構重要です.できれば何をするか分かる名前を付けましょう.ここでつくるプログラムは,各行の平均値をとるので「rowAverage.rb」という名前にしておきます.プログラムはコマンドラインで

$ rowAverage.rb infile

とすれば実行できるようにします.「infile」というのは,入力データを含んだテキストファイル名を仮に表しています.実行時 ,実際のファイル名に置き換えてください.

データの流れ

データ処理を行うので,まずどんなデータを入力して,どんなデータを出力するかをハッキリさせておきます.以下のような入出力を想定します.

5個セット 飯器 金布目飯器2人用メシベラ付 [18 x 10cm] 【 料亭 旅館 和食器 飲食店 業務用】激安アウトレット店舗

287.5 ,287.8 ,287.5 
201.0 ,200.7 ,201.0 
155.6 ,155.9 ,155.9,155.7
135.1,134.7 ,134.7 
124.5,124.2
117.1 ,117.8 ,117.5 
111.5 ,111.5 ,111.5 
...

何かの測定値がカンマで区切られています.区切りの量はいつも同じとは限りません.しかも,カンマの前後に半角スペースがあったりなかったりします.

出力データ

つぎのように,行の平均値のみを出力することにします.

287.60
200.90
155.77
134.83
124.35
117.47
111.50
...

コーディング

いくつかのステップに分けてプログラムを完成させて行きます.Rubyの慣習に倣い#=>という記述を付けています.#=>があった場合,その行を実行するとどんな値になるか,どのように表示されるかを#=>の後に示しています.以下の例ではほとんどwhile文中にあるので,最初の一回目の実行を示しています.

ステップ1

まず,コマンドとして動作し,入力ファイルを各行ごとに取得するようにします.

#!/usr/bin/env ruby
while line = gets
 line.chomp!
 p line # => "287.5 ,287.8 ,287.5 "
end

1行目はRubyスクリプトのコマンドとして動作させるための命令です.環境変数PATHの中から最初に見つかったrubyコマンドを実行するので,rubyのパスが「/usr/bin/ruby」の場合でも「/usr/local/bin/ruby」の場合でも対応できるので,便利な書き方です.

つづくwhile文で入力ファイルを行ごとに取得しています.getsは標準入力もしくは第一引数の内容を,,文字列として一行ずつ得ることができます.ここではgetsの内容をlineに入れて,lineがnilになるまでwhileで繰り返しています.chomp!メソッドは ,

【送料無料】 UK18-8ユニット丸湯煎用スタンド バラ 18インチ 【品番】NYS26183 ★税抜5000円以上で送料無料★激安祭,キッチンミニラック(スパイスラック/調味料ラック) 幅60cm 引き出し収納付き カントリー調 【完成品】(同梱不可),生活用品・インテリア・雑貨 (業務用400セット) ネクスタ ごみっこポイスタンドタイプE Sサイズ 25枚 【×400セット】,新品 税込 送料込 アカオ しゅう酸段付鍋 51cm,片手鍋 深型 プロキング アルミ 27cm 【業務用】【送料無料】,遠藤商事 SA18-8 寸胴鍋(目盛付) 33cm AZV11033,片手浅型鍋(フタ付) PRO 24cm(IH対応)【業務用/電磁調理器/熱伝導】,トイロ 保冷温ボトルホルダー 02P03Dec16,富士カトラリー (FUJICUTLERY) ナリヒラプロ 牛刀FC-757Y 30cmイエロー ANL2826,日本製 japan 後藤こう業 鉄人 揚げ鍋 45cm (天ぷら鍋・鉄製・業務用) 104245,【送料無料】EBM 純チタン 超軽量 中華両手鍋 33cm【代引不可】,ASTH404 トリノ シチューパン 24cm :_,三宝産業 (YUKIWA) 18-8 S型丸飾台 20インチ用 (シェル) NMR12204,【業務用】カーライル[CARLISLE] コンジメント バーオーガナイザーCM1065 【 惣菜フードパンホテルパン揚げ物バットサラダバー 】,【送料無料】 SW18-8ライム丸ビュッフェスタンド 14インチ用 【品番】NMR4714 ★税抜5000円以上で送料無料★激安祭,【まとめ買い10個セット品】和食器 ホ429-066 突出皿 【キャンセル/返品不可】,【送料無料】 AFTA-1001S WH Kugel ステンレス製卓上用ポット WH ★全品ポイント10倍!(P10倍)★税抜5000円以上で送料無料★激安祭,【 業務用 】【 KWシェルフ木製ライト+スチールSポスト 35×150×H210cm×5段 】 【 メーカー直送/代金引換決済不可 】,【送料無料】新品!ホシザキ 恒温高湿ネタケース FNC-210BL-R,【送料無料】押切電機 電気ディッシュウォーマー・テーブル(両側開戸タイプ) ODW-2175W,(2年保証)パナソニック 業務用冷凍庫 横型 コールドテーブル SUF-K1261SA W1200×D600×H800mm【 業務用冷凍庫 横型冷凍庫 業務用横型冷凍庫 台下冷凍庫 コールドテーブル 冷凍ストッカー 業務用フリーザー 】,【冷蔵ショーケース】【福島工業】冷蔵ショーケース リーチインショーケース 冷蔵タイプ【UGD-180AGT6】W1790×D795×H1950【送料無料】【業務用】【新品】,クローバー モリブデン キッチンポット目盛付 (手付)36cm AKT13036,【送料無料】キッチン用品 洋食器 置物 ダブルクリック,【業界初!3年保証付】 業務用 冷凍ストッカー 197-OR 950×564×H845mm シェルパ SHERPA 【 業務用冷凍庫 フリーザー 食品ストッカー 】メイチョー,SA雪藤 薄刃 19.5cm,【送料無料】【包丁・ナイフ】佐文 青鋼 身卸包丁 (片刃) 27cm (6-0271-1503),【送料無料】 クレシア カウンタークロス 厚手タイプ ピンク 65322-2048 【4705165 ★全品ポイント10倍!(P10倍)★税抜5000円以上で送料無料★激安祭,KAWAJUN(カワジュン)キッチンハンガシステムKC-108S-1SC,【smtb-TK】【頑張って送料無料!】グレステン 牛刀包丁240mm,堺菊守 特製 骨切 270mm,【 業務用 】住友 業務用まな板 1200×450×30 30L 【 メーカー直送/代金引換決済不可 】,南部鉄器 ティーポットひよこ(オレンジ)【送料無料】【ギフト】【いわての逸品】【岩手県_物産展】.

5個セット 飯器 金布目飯器2人用メシベラ付 [18 x 10cm] 【 料亭 旅館 和食器 飲食店 業務用】

1個あたりの寸法[18 x 10cm]商品によっては手造りのため、写真と色・かたちが若干異なることがございます。一部の商品はメーカーよりお取り寄せとなりますので、納期が前後することがございます。あらかじめご了承ください。われものですので丁重に梱包させていただいておりますが、ご不明な点などございましたらご連絡ください。ご質問などございましたらお気軽にお問い合わせください。

プロ御用達の食器や調理器具が1個からご注文いただけます。
3個まとめてのご購入はこちら
5個まとめてのご購入はこちら
10個まとめてのご購入はこちら
【用途】
結婚の引き出物・大事な人へのプレゼント・新築祝い・開店祝い・風水・開運・魔除け・バレンタイン・ホワイトデー・誕生日・母の日・父の日・お中元・敬老の日・還暦祝・クリスマス・お歳暮などの特別なギフトとして。 また、飲食店や店舗、神棚などインテリアとしてもお使いいただけます。

【材質】
陶器・陶磁器・せともの(一部ステンレス・鉄・竹・木等のものがございます)
3~5営業日以内にお届け

10個セット ☆ 特選刺身 ☆ ルリ釉若草芦 千代口 [ 8.5 x 3cm 85g ] 【 料亭 旅館 和食器 飲食店 業務用 】,トリノ 外輪鍋 27cm【ステンレス外輪鍋】【電磁調理器対応】【IH対応】【業務用鍋】【TORINO】【業務用】【三層鋼】,(IH対応) 北陸アルミニウム 業務用 マイスターIH 半寸胴鍋 27cm [AHV9204] (スープ作り)(ラーメン)(煮込み料理)(業務用) (鍋 フライパン 蔵元屋),SA 18-8 外輪鍋 60cm [2-0015-0511] 【業務用】【送料無料】,TRUSCO/トラスコ中山(株) 六角軸樹脂用ステップドリル 2枚刃 45~55mm NMS-55P,【500円offクーポン 10/18 9:59まで】 【キャンブロ】 キャンブロ フードストレイジボックス コランダ― 1826CLRCW 【キッチン用品:容器・ストッカー・調味料入れ:保存容器(材質別):プラスチック】【キャンブロ フードストレイジボックス】【CAMBRO】,ペットカップ PTC09030 丸型 ペットカップ 全6プリントサイズ:90×30 mm@5.3円 4500枚入り,【送料無料】deBUYER デバイヤー 種落とし ミニ ポーションファンネル グリーン 3353-20【代引不可】,【送料無料】 ネズコ 大漁舟 3.5尺 【品番】QTI03035 ★税抜5000円以上で送料無料★激安祭,ホシザキ電気 横型冷蔵庫 《内装樹脂タイプ》 RT-63PTE1,『物相型 和菓子 お菓子作り』手彫物相型[上生菓子用] みの亀【開業プロ】,東日製作所 HH型ヘックスヘッド HH22DX22,エイシン ホットショーケース ED-2 電気式【 業務用 ホットショーケース フードショーケース 保温ショーケース 温蔵ショーケース フードウォーマー 】【 メーカー直送/代引不可 】,【 業務用 】サービスワゴン W10型 18-8 W10A-S4606【 メーカー直送/代金引換決済不可 】,★三甲 (SANKO) サンコー サンキャリーフリー SL-3 特大番重用 ピンク ASV9910 【(平日のみ出荷)/代引除く】,CKI22013 クイジナートNXJ2専用 シンプルカバー DLC-NXCS2 :_,10個セット 越前漆器 [TM]菊形箸洗椀 溜 [ 7.6 x 9.7cm 180cc ] 料亭 旅館 和食器 飲食店 業務用,美濃焼 伊賀灰釉彫目 焼物皿,【まとめ買い10個セット品】和食器 ト276-286 粉引面取り冷酒器 【キャンセル/返品不可】【開業プロ】,CP-8905 コレール ウインターフロストホワイト スクエア中ボウル J2323-N 5枚セット/キッチン用品 食器 調理器具 洋食器ボウル,SWAN ミニ手動式かき氷機 SI-2C (SI 2C) ちいさな南極 送料無料 池永鉄工 日本製 国産 かき氷器 専門店 アイススライサー 家庭用 スワン パーティー 夏休み こども 小さな カフェ 氷削 5-0757-0701 6-0840-0701 8455500,【送料無料】キッチン用品 洋食器 置物 ビンテージガゼルティーポットマジョリカvintage l batlins son leaping gazelle teapot w lid majolica,【送料無料】キッチン用品 洋食器 置物 イタリアインチモモhimark pitcher made in italy 85 tall peaches 2448,【まとめ買い10個セット品】和食器 ネ576-116 アンバー 26cmベーカー 【キャンセル/返品不可】【開業プロ】,【送料無料】 小鉢揃 青磁野菜絵変り 3.8号 ( 九谷焼 結婚 出産 内祝い 引き出物 金婚式 誕生日プレゼント 還暦祝い 古希 喜寿 米寿 プレゼント お祝い お返し 2017 両親 父 母 男性 女性 日本製 おすすめ おしゃれ かわいい 可愛い 人気 ),和食器 ツ235-086 片口織部新格子尺盛鉢 【キャンセル/返品不可】【厨房館】,【送料無料】プロエクスカリバー AZV6728 寸胴鍋 28cm 【en】【TC】【0530da_ki】 【RCP】,【まとめ買い10個セット品】和食器 ミラノ(白) 長角盛皿 S 35A415-10 まごころ第35集 【キャンセル/返品不可】【厨房館】,【送料無料】キッチン用品 洋食器 置物 デザインstudio design works,SA 18-8 フランクフルトバスケット[fs01gm]【RCP】【HLS_DU】,,,,,.

,文字列末尾の改行文字を破壊的に削るものです.これは,思わぬ誤動作を防ぐためです.

上の書き方はRubyでフィルタ系のコマンドをつくる場合のイディオムのようなものですから,覚えておいて損はないでしょう.

ステップ2

各行をカンマで区切る,という動作を加えます.つぎのようにSTRING.split()メソッドを使います.

#!/usr/bin/env ruby
while line = gets
 line.chomp!
 p line.split(",") # => ["287.5 ", "287.8 ", "287.5 "]
end

lineにsplit(",")メソッドを使用することで,lineの内容をカンマで区切ったものを要素とする配列になります.

ステップ3

余分な空白も取り除くようにします.STRING.gsub()メソッドを使い,正規表現により空白をマッチさせて削ります.

#!/usr/bin/env ruby
while line = gets
 line.chomp!
 p line.gsub(/, "").split(",") #=> ["287.5", "287.8", "287.5"]
end

ステップ4

配列をeach()メソッドに渡し,要素一つずつ取り出します.

#!/usr/bin/env ruby
while line = gets
 line.chomp!
 line.gsub(/, "").split(",").each{|x|
 p x.to_f #=> 287.5
 }
end

ブロックに渡されたxにSTRING.to_fメソッドを使って,文字列から浮動小数点数に変換しています.

ステップ5

和をとって要素数で割る,という平均の操作を加えます.

#!/usr/bin/env ruby
while line = gets
 line.chomp!
 sum = 0.0; i = 0
 line.gsub(/, "").split(",").each{|x|
 sum += x.to_f
 i += 1
 }
 printf("%.2f\r\n", sum/i)
end

これで完成です.sumとiは,それぞれ行ごとの和,行ごとの要素数を表す変数です.sum = 0.0; i = 0で初期化し,,

,printfで出力しています.printf中の%.2fで小数点以下を2桁に揃えています.\r\nはWindowsの改行コードです.

home > コンピュータ > プログラミング >
       
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright ©5個セット 飯器 金布目飯器2人用メシベラ付 [18 x 10cm] 【 料亭 旅館 和食器 飲食店 業務用】 All Rights Reserved.5個セット 飯器 金布目飯器2人用メシベラ付 [18 x 10cm] 【 料亭 旅館 和食器 飲食店 業務用】 All Rights Reserved. 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.2.17HTML convert time to 0.020 sec.
{yahoojp}nc02-myp12-gui-1537