08

24

Ruby練習問題 その1 (正規表現,配列,ファイル)

2013.08.24(14:40)

Ruby練習問題 その1 (正規表現,配列,ファイル)
以下のソースを使って、ソースの最後にある問題を解いてください。
解答例は後日掲載します。
# encoding: Shift_JIS
=begin
 Ruby練習問題 その1 (正規表現,配列,ファイル)
=end

# ヒント
printf "整数の配列\n"
array = [100,20,3]
p array
p array.sort

p "50"
p "50".to_i * 2

printf "文字列の配列\n"
array = Array.new
array << "100"
array << "20"
array << "3"
p array
p array.sort
p array.sort{|a,b| a.to_i <=> b.to_i}

# ファイルを書く
file_name = 'data.txt'
File.open(file_name,"w") { |f|
  f.puts "square,40,5"      # 幅,高さ
  f.puts "square,30,20"
  f.puts "circle,100"       # 半径
  f.puts "triangle,20,10"   # 底辺,高さ
  f.puts "circle,20"
  f.puts "circle,3"
  f.puts "circle,3"         # 半径3は2つある
  f.puts "square,8,15"
}

printf "ファイルを読んでそのまま出力する\n"
File.open(file_name,"r") { |f|
  while line = f.gets
    puts line
  end
}

printf "ファイルを読んで、circleを含む行だけを出力する\n"
File.open(file_name,"r") { |f|
  while line = f.gets
    if /circle/ =~ line
      puts line
    end
  end
}

printf "ファイルを読んで、circleを含む行を、circle,半径,面積 と出力する\n"
# rubyでの円周率はググる。
# ここに実装してください。

printf "ファイルを読んで、circleを含む行を、半径の小さい順に、circle,半径 と出力する\n"
# ここに実装してください。

printf "ファイルを読んで、squareを含む行を、square,高さ,幅 と出力する (幅と高さを逆に出力)\n"
# ここに実装してください。

printf "ファイルを読んで、全部の行について、行全体,面積 と出力する\n"
# ここに実装してください。
 

参考仕様

解答例も公開しました。
プロフィール

島敏博

Shima Toshihiro 島敏博
信州アルプスハイランド在住。HaskellとElixirが好き。組み込みソフトウェアアーキテクト、C++プログラマ、山歩き、美術館巡り、和食食べ歩き、日本赤十字社救急法指導員、インデックス投資、クラシック音楽、SESSAME会員、状態マシン設計、モデル駆動開発、ソフトウェアプロダクトライン、Rubyist、実践ビジネス英語

■ ツイッター
http://twitter.com/saltheads
■ Facebook
http://www.facebook.com/saltheads
■ Qiita
http://qiita.com/saltheads

印刷する場合は、ブラウザの印刷メニューではなく、このページの上から3cmくらいの青いところにある、「印刷」を押してみてください。少しうまく印刷できます。まだ完全ではないのですが、これで勘弁してください。


カテゴリ
最新記事
月別アーカイブ
最新コメント
検索フォーム
リンク
sessame
RSSリンクの表示