http://www.sw.it.aoyama.ac.jp/2010/PB2/lecture5.html
© 2006-10 Martin J. Dürst 青山学院大学
if、end、else、elsif.split で配列が作られ、逆は
.join.length,
.reverse,...)# encoding: Shift_JIS 又は# encoding: UTF-8ruby -n program.rb <input.txt提出: 10月29日 (金曜日) 22:00 までに Moodle に投稿
students.txt というデータを使って、行ごとに次の入力データ:
12345678, Reigai Taro, 80, 62, 例外 太郎
を次の出力データ
5678 例外太郎 (Taro Reigai): English: 80, Math: 62, Average:
71.0
に変更するプログラムを作りなさい。
ヒント:
to_i を使用
("123".to_i ⇒ 123)解答例: 都合により削除、Shift_JIS のデータファイル: 都合により削除
解答例: 都合により削除
配列の並行代入:
変数1, 変数2,
変数3,... = 配列
number, name, english, math = input_line.split(', ')
配列から複数の要素の取り出し:
(文字列から複数の文字も同様)
配列[start, length]
提出: 10月29日 (金曜日) 22:00 までに Moodle に投稿
一回目の演習2として集めたデータを整理、people.txt
として提出
形式 (データを合流するために、厳守):
", " で分ける
(全部 Ruby にて実装)
現時点の結果は famous.txt
if 式を使用if 式は必ず end で修了一般的な形:
if 条件 実行する処理 end
実例:
if input_fields.length < 8 puts "Not enough input fields (missing/wrong separator?)." end
重要: if と end の間の行 (複数可) では必ず字下げ (インデント、indent) を使用
a は b より大きい:
a > ba は b より小さい:
a < ba は b 以上:
a >= ba は b 以下:
a <= ba と b は等しい:
a == ba と b
は等しくない: a != b比較は整数、実数だけではなく、文字列、配列にも使用可能
else一般的な形:
if 条件 条件が合うときに実行する処理 else 条件が合わないときに実行する処理 end
実例:
if input_fields.length < 8 puts "Not enough input fields (missing/wrong separator?)." else # 普通の処理 end
elsif一般的な形:
if 条件1 条件1が合うときに実行する処理 elsif 条件2 条件2が合うときに実行する処理 end
実例:
if input_fields.length < 8 puts "Not enough input fields (missing/wrong separator?)." elsif input_fields.length > 8 puts "Too many input fields." end
elsif と else の組合せelsif は何回も使ってよいelsif と else は一緒に使ってよいelse は elsif の後elsif と else は if と
end の同じ字下げend は if と対で、elsif と
else には end がない提出: 11月 5日 (金曜日) 22:00 までに Moodle にファイル famous.txt を処理するプログラム
famous.rb を作成、投稿:
”」があるto_i
で結果が 0)unknown」、「不明」など(プログラムの呼び出しは ruby -n famous.rb
<famous.txt)