yamarkz's blog

紫陽花

Rubyで小さなツールを作る時のtips

メインファイルの作成

main.rbを用意し処理を1ファイルにまとめます。 実行する同一処理の増加などによってはオブジェクト指向の考え方に則って構造化していきます。 走り出しから構造化を意識してコードを書くのではなく、とりあえず処理を実行できるところまで作ることを意識します。

別ファイルの読み込む

ファイル毎に処理を分けた場合には実行ファイルにファイルを読み込む必要がある 基本的はrequireで読み込む。 同一ディレクトリ階層の場合は、requireでカレントディレクトリを示すドットを打つ

optparseでパラメータ管理

CLIで実行する際にオプションを渡したい時あります。 そんな時は optparse を使うと便利です。 ARGVの機能を簡単に導入できます

require 'optparse'
opt = OptionParser.new
opt.on('-a') { |v| p v }
opt.on('-b') { |v| p v }

opt.parse!(ARGV)

ARGVはコマンドライン引数のこと argument vector (引数の配列)

手軽な構造体

OpenStruct

ruby-progressbarで進捗表示

実行時間が長い処理を行っている時進捗状況が目に見える形でわかると便利ですよね。 ruby-progressbarを使うことで進捗状況を可視化することができます。 利用方法は簡単です。下記を参考に使ってみましょう

インストール

gem install ruby-progressbar

実行処理

require 'ruby-progressbar'
pb = ProgressBar.create
10.times do
    pb.increment
    sleep 0.1
end
pb.finish