Ruby

IndexErrorを起こさないArray#transpose

Rubyの基本的なメソッドの話題です。Rubyで配列の配列を行列と見立てて、転置行列を求める場合、Array#transposeを使いますが、このメソッドは、各要素数が異なるとIndexErrorが発生します。これを、要素数が異なっていても、後ろの要素にnilが入ってるとみ…

SinatraをJerseyと比べながら試してみた

Ruby on Railsのintegrationテストを真面目に書いていたら挫折しそうになったので、色々と寄り道しながら調べていたら*1、Ruby on Rails以外のRuby製WAFとしてSinatraを知ったので、試してみました。簡単なRESTfulアプリケーションを作りたいという時の選択…

rbenvとVirtualBoxで0から作るRuby on Railsアプリ開発環境

2013年最初のエントリは、rbenvとVirtualBoxでRuby on Railsアプリの開発環境を作る手順です。入門編。簡単にきっかけなんかを書きます。今の仕事では、Railsプロジェクト用の開発サーバ(CentOS)が存在し、そこに各メンバーがログインして、開発するスタイル…

Redmineで複数のプラグインを共存させたり、開発する場合の勘所

Redmineのプラグイン開発。詳しくわかってない人が詳しくわかってないなりに、複数のプラグインを導入する場合のプラグイン開発において、ハマったポイントとかを交え、勘所としてまとめておく。プラグイン開発のTipsやチュートリアルは公式を参照。 develop…

指定したディレクトリにある更新が一番新しいファイルを求める

globとsort_byを使って(出力はファイル名のみ)。 Dir.chdir("C:\\foo") file = Dir.glob("*.dat").sort_by {|f| File.mtime(f)}.reverse[0] puts file これでも行けた(出力はフルパス)。 file = Dir.glob("/foo/*.dat").sort_by {|f| File.mtime(f)}.rev…