昼寝王子のエンジニアメモスマートフォン用の表示で見る昼寝王子のエンジニアメモこの広告は、90日以上更新していないブログに表示しています。2016-10-31ターミナルを閉じてもrubyを実行し続けるには今までは、ターミナル上でrubyの実行を行っていましたが、全て完結するものを書いていました。ターミナルを閉じても実行するにはどうしたらいいのでしょうか?それにはまず、プロセスIDというものを理解することが必要です。【プロセスID】プロセスIDはアプリケーションが実行されている場所を示しているものであり、アプリケーションなどを実行すると自動で割り当てられます。Macの場合、プロセスIDを確認する方法は2種類あります。・アクティビティモニタを利用アクティビティモニタを利用して確認するには、アクティビティモニタを起動して、その中の「PID」というのを見ることで確認することができます。・コマンドを利用アクティビティモニタを使う以外にも、macでは「psコマンド」で知ることが確認することができます。aux」というコマンドを入力することで現在実行されているプロセスの一覧を確認することができます。auxはそれぞれa:自分以外のユーザーのプロセスも表示するu:ユーザー名と開始時刻を表示するx:制御端末のないプロセスの情報も表示するというオプションになっていて、それを全て表示しようとすると「aux」というコマンドになります。【バックグラウンドでの実行】では、本題のターミナルを閉じても実行し続けるには、という話ですが、方法は簡単です。&」という形で囲むだけです。今の時間を表示し続ける「time.rb」というコードを書いたとします。&というように書けばOKです。試しに実行してみて、ターミナルを閉じ、実行されているかプロセスIDを見て確認してみましょう。rubyすると、しっかり実行されているのがわかると思います。プロセスIDでプロセスを終了させましょう。これを用いれば、データの自動収集などを行うことができそうです。16:43ターミナルを閉じてもrubyを実行し続けるにはTweet広告を非表示にするもっと読むコメントを書く2016-10-31rubyでファイルを扱う時に必須のjsonファイル今回はrubyでJSONファイルを扱う方法についてまとめます。【jsonファイルの読み込み】jsonファイルはcsvファイルやテキストファイルのように1行ずつ読み込むような概念がありません。そのため、まず一気にjsonファイルを読み込んでしまい、その後それを1つ1つ分解して処理をするというのが一般的です。JSON.load(file)endこれで読み込みは完了。勝手にハッシュの形になって配列にか苦悩されているので、呼び出すときはhashに対してeachを行い、オブジェクト['キー']の形でよびだせる。上記ではjsonファイルを読み込む方法を紹介したので、今回はrubyでjsonファイルを作成する方法をまとめます。jsonファイルの作成にはJSON.generateというメソッドが使えます。ここに入れつを与えてあげることで、自動でjsonファイルの形式にしてくれます。そのため、arrayという配列をjsonファイルとして出力したければこのように書けば良い。15:21rubyでファイルを扱う時に必須のjsonファイルTweet広告を非表示にするもっと読むコメントを書く2016-10-31rubyでテキストファイルをCSVで出力するrubyでファイルの読み込み、書き込みについてまとめる。【テキストファイルをCSVファイルに変換】テキストファイルをCSVファイルに変換し出力するには、まずテキストファイルを読み込む必要がある。テキストファイルの読み込みについては前回説明したが、以下のようにして読み込む。|row|//処理endそして、今回重要なのは、どのようにしてファイルに出力するかということである。ファイルへの出力は以下のようにすれば行える。|csv|csv.puts("書き込みたい内容")endcsv.putsというメソッドに引数を与えることで、ファイルに書き込みがされる。ファイルに書き込む際にCSVとして出力するには、要素同士の間をカンマ「,」で区切ってあげれば良い。要素をカンマで区切りたい、と思ったが要素自体にカンマが入ってしまっていたり特殊記号が入っていたりすると上手くいかないことがある。そんなときのために以下の二つを覚えておくと良い。要素の中にダブルクォートがあれば二重のダブルクォートに置換するこれを徹底すればそのような場合にも対処できるので押さえておこう。14:27rubyでテキストファイルをCSVで出力するTweet広告を非表示にするもっと読むコメントを書く2016-10-31rubyでタブ区切りのテキストファイルの読み込みを行うrubyでファイルの読み込みについてまとめる。|row|//処理endこの読み取りではどちらも普通に1行を1つのデータとしてみなすが、タブで区切られていたら、それを別々のものとして切り離したい時は「:col_sep」というオプションを用いれば良い。|row|//処理endこれで、タブで区切られたものを切り離すことができる。14:13rubyでタブ区切りのテキストファイルの読み込みを行うTweet広告を非表示にするもっと読むコメントを書く2016-10-31Rubyで標準入力をするなら黙ってchompをつけよう新しいプログラミング言語に触れるとき、まず知りたいのは標準出力の方法と、標準入力の方法です。rubyの場合出力はpputsprintなどいろいろある。標準入力はgetsで入力を受け付けることができる。getsとすることで入力した値を変数に格納したりするのが一般的である。RubyではC言語のように数値の受け取りや文字の受け取りを区別せず、すべて文字列として受け取る。そのため、数値の入力を受け付けたい場合は、まずgetsで文字列として受けとり、それを「.to_i」で数値に変換する必要がある。gets.to_i数値の受け取りの際はいいんですけど、文字列をそのまま使おうと思った時にこのgetsだと、少し問題があります。それは、開業まで反映されてしまうというところです。試しに、getsで入力された文字を確認してみると"\n"このようなものが付加していないだろうか?これは、改行コードで、これが入っていると後の作業に影響が出てしまいます。そこで、それをなくすために出てくるのが題名に書いてある「chomp」です。これをつけることで改行コードを除いた文字列を受け取ってくれるのです。gets.chompこれから入力を受け付ける時はとりあえずこれをつけましょう。繰り返し」で検索するとwhile文until文for文eachメソッドtimesメソッド、uptoメソッド、downtoメソッドstepメソッドloopメソッドうん、多いよ。