<!DOCTYPE html> <html> <!-- Default style for pretty-print of text files --> <head><title>kankou.rb</title> <style type="text/css"> pre {margin-left: 6ex;} pre span {counter-increment: linenum; text-align: right; position: relative;} pre span:before { position: absolute; right: 0px; background: #ddd; text-align: right; padding: 0 0.2ex; width: 5.5ex; margin-right: 0.5ex; content: counter(linenum) ":"; } </style> </head> <body> <p>[[ <a href="?showattc+article_m+499+raw">RAW TEXT</a>(DOWNLOAD here) ]]</p> <pre lang="en"> <span></span> <span></span>require 'csv' # CSVライブラリ読み込み <span></span>#観光スポット一覧で使うcsvファイル読み込み <span></span>data = CSV.read("shonai.csv", :headers => true) <span></span>#webページ検索で使うcsvファイル読み込み <span></span>meisho = CSV.read("web.csv", headers: true) <span></span>while true <span></span> puts "1 観光スポット一覧" <span></span> puts "2 観光スポットwebページ検索" <span></span> puts "0 終了" <span></span> print "どれかひとつ選んでください => " <span></span> input=gets.to_i <span></span> if input == 0 then #もしinputが0だったとき <span></span> break #終了する <span></span> elsif input == 1 then #もしinputが1だったとき <span></span> #↓行ごとに取り出す <span></span> n = 0 <span></span> data.each{|row| # rowには1行ずつ値が入り繰り返される <span></span> printf("%d: %sとはどんなところ?\n", n+=1, row["建物名"]) <span></span> printf("住所 => %s \n特徴 => %s \n",row["住所"], row["特徴"]) <span></span> print("--------------------------\n") }#仕切りの機能(何個あってもいい) <span></span> elsif input == 2 then #もしinputが2だったとき <span></span> i=0 <span></span> for x in meisho # 1行ずつxに取り出す <span></span> printf("%d: %s\n", i+=1, x['place']) # 添字に見出し項目を指定して取り出す <span></span> end <span></span> print("何番のWebを見たいですか: ") <span></span> num = gets.to_i-1 <span></span> if num >= 0 && num < meisho.length <span></span> printf("%s ですね。%s をブラウザで開きます.\n", <span></span> meisho[num]['place'], meisho[num]['url']) <span></span> # ↑meishoのnum行目のレコードの ['place'] 項目を取り出す <span></span> system("firefox "+meisho[num]['url']+"&") <span></span> end <span></span> else <span></span> print "1/2/0から選んでください\n" <span></span> end <span></span>end </pre> </body> </html>