Ruby

JavaScriptとして動作するfizzbuzz.rb

LL Decadeで、Polyglotの話を聞いて面白かったので、私もやってみました。そこで、FizzBuzzを書いてみました。 fizzbuzz.rbですが、JavaScriptとしても動作します。Rubyのバージョンは1.9です。 'use strict'; "#{define_singleton_method(:var){|*v|}||";/*…

Railsで規約に従わないテーブル名を使う

Ruby On Railsでデータベースを扱う時は、Railsの規約に従ってモデル名、テーブル名等を決定します。しかし、古いシステムからDBを引き継ぐ、他のプログラムとDBを共有する等、場合によっては、規約から外れた名前が必要になることがあります。今回は、そん…

Rubyでわかるマギカ世界の魔法少女システム論

「まどか☆マギカから考えるメカニズムデザイン」も合わせてご参照ください。 class Hope attr_reader :value def initialize(value) @initial_value = value @value = value value_changed end def add(value) @value += value value_changed end def despai…

RubyOnRailsとjQueryで簡単クロスドメインajax

Railsのサーバーと非RailsのWebサービス(どちらも自前で管理)のクロスドメインajaxをやってみたら、思いのほか簡単だったので、記事にしてみます。なお、クロスドメインに関するセキュリティ的な話題はいろいろあると思いますので、そのあたりは自分で調べて…

Rubyのnilはおともだち

Rubyのnilは便利ですよというお話です。 Ruby人口を増やしたいなぁということで、とても簡単な話題でいきます。(これでハードルが下がった)Ruby Advent Calendar jp: 2011 の18日目の記事です。17日目はser1zwさんです。 インスタンス変数 さて、おもむろにi…

続FizzBuzz

FizzBuzzが書いてみたくなったので、また書いてしまいました。つまり、時間の無駄遣いです。せっかく書いたので、解説してみたいと思います*1。FizzBuzzのコードを御覧ください。注意: 白魔術が掛かったソースコードなので、プロダクト環境のFizzBuzzライブ…

Rubyと大クラス主義とダックタイピング、そして名前重要

最近、Javaを勉強したりしていて、RubyがJavaとの対比で昔より客観的に見られるようになったので、Rubyの記事を書きたいと思います。自分でも消化しきれていない話なので、反論は大歓迎です。内容は、大クラス主義とダックタイピング、そして名前重要に関し…

マルチユーザーでRVMでrubyインストール

rvmでRubyをインストールする記事を見ていると、マルチユーザー環境でのインストール方法がなかなか見つからなかったので、書いてみたいと思います。詳しくは、公式のページにきちんと書いてあります。 http://beginrescueend.com/rvm/install/きちんとした…