TwitterBotを作るにあたっての覚書 Ruby編
こちらはRubyについてのメモ。
書式
- インデント幅は2
- インデントにはスペースのみを使用し、タブは使用しない。(環境によりタブ幅が異なるため。)
- 一行の桁数は最大80桁
結構忘れる。
テキストファイルの読み込みと配列への格納
本の方ではひとりごとを1文ずつ配列に格納し、ランダム出力してましたが、EasyBotterはひとりごとの内容をテキストファイルに分離し、実行時に読み込んで処理してます。こちらの方が「""」の閉じ忘れとか「,」忘れとか防げていいなあと思い、そういう形に改変しました。
で、最初こう書いてました。
posts_rand = [] #空の配列用意 open("テキストファイルへのパスとファイル名") {|file| while l = file.gets posts_rand.push(l) #配列に1行ずつ追加 end }
Rubyで面白かったのは、わざわざファイルのクローズを宣言しないでも良い書き方があること。
上の場合、「open("テキストファイルへのパスとファイル名") {」でファイルをオープンし、「}」で自動的にクローズしてくれるそうです。分かりやすくてありがたい。
……てのは置いといて。
実はこう書いても同じコトが出来るそうです。
posts_rand = IO.readlines("テキストファイルへのパスとファイル名")
これでファイルのオープンからクローズ、さらに1行ごとの配列への格納までやってくれます。
……サギだろーー!?