Newer
Older
Ruby / index.cgi
@SATO Kenjiro SATO Kenjiro on 3 Dec 2022 2 KB 2022-12-03 15:55:33
<!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 &apos;csv&apos;                           # CSVライブラリ読み込み
<span></span>#観光スポット一覧で使うcsvファイル読み込み
<span></span>data = CSV.read&#040;&quot;shonai.csv&quot;, :headers =&gt; true)
<span></span>#webページ検索で使うcsvファイル読み込み
<span></span>meisho = CSV.read&#040;&quot;web.csv&quot;, headers: true)
<span></span>while true
<span></span> puts &quot;1 観光スポット一覧&quot;
<span></span> puts &quot;2 観光スポットwebページ検索&quot;
<span></span> puts &quot;0 終了&quot;
<span></span> print &quot;どれかひとつ選んでください =&gt; &quot;
<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&#040;&quot;%d: %sとはどんなところ?\n&quot;, n+=1, row[&quot;建物名&quot;])               
<span></span>     printf&#040;&quot;住所 =&gt; %s \n特徴 =&gt; %s \n&quot;,row[&quot;住所&quot;], row[&quot;特徴&quot;])
<span></span>     print&#040;&quot;--------------------------\n&quot;) }#仕切りの機能(何個あってもいい)
<span></span> elsif input == 2 then                      #もしinputが2だったとき
<span></span>   i=0
<span></span>   for x in meisho                        # 1行ずつxに取り出す
<span></span>     printf&#040;&quot;%d: %s\n&quot;, i+=1, x[&apos;place&apos;]) # 添字に見出し項目を指定して取り出す
<span></span>   end
<span></span>   print&#040;&quot;何番のWebを見たいですか: &quot;)
<span></span>   num = gets.to_i-1
<span></span>   if num &gt;= 0 &amp;&amp; num &lt; meisho.length
<span></span>     printf&#040;&quot;%s ですね。%s をブラウザで開きます.\n&quot;,
<span></span>            meisho[num][&apos;place&apos;], meisho[num][&apos;url&apos;])
<span></span>     # ↑meishoのnum行目のレコードの [&apos;place&apos;] 項目を取り出す
<span></span>     system&#040;&quot;firefox &quot;+meisho[num][&apos;url&apos;]+&quot;&amp;&quot;)
<span></span>   end
<span></span> else
<span></span>   print &quot;1/2/0から選んでください\n&quot;
<span></span> end
<span></span>end
</pre>
</body>
</html>