D.

ruby

Ruby で序数 (1st, 2nd, 3rd...) を生成する。

こんな感じ。 def number_to_ordinal(num) num = num.to_i if (10...20)===num "#{num}th" else g = %w{ th st nd rd th th th th th th } a = num.to_s c=a[-1..-1].to_i a + g[c] end end number_to_ordinal(3) => "3rd" number_to_ordinal(13) => "13th" …

マルチアーキテクチャなステージング環境で bundler を利用する。

Ruby on Rails 等で使われる bundler はアプリケーションに依存する gem パッケージをバンドルすることができ、パッケージの管理に役に立つ。しかしアーキテクチャ固有のパッケージを保持してしまうことで、ステージング環境で複数のアーキテクチャが混在し…

先行ジョブの実行を待つ。(解決編)

昨日の先行ジョブの実行を待つ。のコメントで setlock なるツールを教えてもらった。しかしプラットフォームに依存しない (すなわち Windows 等でも汎用的に使える) 手法が欲しかったので結局 ruby でコマンドを自作した。 class Wait end class << Wait def…

たった 10 秒で Programming Ruby をいつでも読めるようになる方法。

Debian か Ubuntu で以下のスクリプトを実行する。 #!/bin/sh apache_settings() { sudo vim /etc/apache2/sites-available/default # DocumentRoot を /var/www/html にする sudo /etc/init.d/apache2 restart } create_html_link() { sudo ln -s /usr/shar…

複数の Python, Ruby を併用する。

python 3.x 系及び ruby 1.9.x 系を利用したい。 とはいっても、現行のバージョン (python 2.x 系及び ruby 1.8.x 系) も必要である。 そこで、これら両方が共存できる環境を構築した。 Mac OS X の場合は非常に簡単である。 あらかじめ MacPorts で複数入れ…