多くの OS X ユーザはパッケージマネージャとして Homebrew を使っています。 これを使うと本当に簡単に Ruby を手に入れることができます: $ brew install ruby
僕がつまずいた Ruby 1.8/1.9/2.0 系の環境の差異をまとめていきます。
RailsにはActionMailerというライブラリがありますが、今回はその中でも使われているMailライブラリ(*1)をご紹介いたします。
sheet.each や row.each ではちゃんとデータが入っている範囲だけを走査してくれます。
・.xlsでもいいからネット上の情報が豊富なやつを使いたい -> spreadsheet ・システムのみでリッチな.xlsxファイルを作りたい -> axlsx ・.xlsxファイルを読み出すだけでいいから気軽に扱いたい -> roo ・テンプレートの.xlsxファイルがあって、それにデータを書き込んで保存したい -> rubyXL
roo-rb/roo はExcelの *.xlsx を読む。
正規表現オブジェクト =~ string
if /^abc/ =~ str puts "match" end
シングルクォート内で「\数字」を使うと、n番目の括弧を置換後の文字列に使用できる。
実は置換する対象をハッシュで渡せるとはつゆ知らず…
Redmineのデータベースと添付ファイルをcronサービスにより定期的にバックアップし、 Windowsのクライアント環境へ時々バックアップを同期するような方法を実践してみました
結構汎用的に使える?そして、簡単に実装できる? クーロン+シェルを利用したバックアップ処理を書いてみました。
Ruby から外部のコマンドを実行する場合、使えるメソッドは以下のとおりです。 exec system `` IO.popen これらそれぞれの使い方と、実行結果を解説します。
Rubyで外部プログラムを実行する、たいがいのケースはOpen3.capture3でまかなえます。
require_relative "filename" こうすると、呼び出し元のファイルからの相対パスになるため、 どのディレクトリから実行してもエラーになりません。
メソッドにはブロックを渡すことができる 渡したブロックは、メソッド内で手続き型のオブジェクトとして扱われる
「どうせブロック引数は一つしか取れないんだから呼び出し箇所をblock.callなんて明示せずに、yieldで統一しちゃえば良いじゃん」 「ブロックは全部yieldが示すんだから、仮引数(&block)もいらなくね?」