ruby

Ruby勉強会@関西

ちょうど京都にいるので、ちょいと参加してきます。今京都は祇園祭の真っ最中です。

Ruby on Railsその2

1.demoアプリケーションの作成 以下のコマンドを実行 rails demo iconv.dllがないというエラー。 zlib.dllの時と同じように探して、binに置く。 http://www.kaoriya.net/の「Libiconv」より「Libiconv DLL 1.9.1 for Windows」をダウンロード。iconv.dllをru…

Ruby on Railsその1

昨日のXP祭りで衝撃的だったのは角谷さんのライトニングトークスでした。あまりにも衝撃だったので、早速Railsを試してみました。WEB+DB PRESS Vol.28を参考に次の手順でまずはインストール。1.Windows版のRuby「ruby-1.8.2-20050201-i386-mswin32」をインス…

RubyについてJavaプログラマが知るべき10の事柄

メモ、いいね。

Rails野郎が間違っていることの証明を開始する!(ma2の日記より)

ruby readline for mac

RubyOnMacintosh

Rubyでアナリシスパターン

PartyパターンをRubyで書いてみました、ってこんな感じでしょうか? アナリシスパターン、Rubyの書き方ともにつっこみあったらお願いします!! class Party def initialize @addresses = Array.new @emails = Array.new @telephoneNumbers = Array.new end …

続・RubyでTemplateパターン

moduleを使ったパターン。これなら継承する必要がありません。 こっちのほうがRubyっぽい気がしますが、どうでしょう? module BaseAction def execute() doValidate(); doExecute() end end class AddAction include BaseAction def doValidate() puts "Add…

RubyでTemplateパターン

TemplateパターンはJavaと同じ感覚で書けますね。 class BaseAction def execute() doValidate(); doExecute() end end class AddAction

続・RubyでStrategy

先日の日記にRubyにはJavaでいうインターフェイスや抽象メソッドはないと 書きましたが、moduleという機能で似たような目的を果たすことができるようです。moduleはインターフェイスとTemplate Methodパターンを組み合わせたようなものでしょうか(下記のよ…

RubyでStrategyパターン

Javaでいうインターフェイスの代わりに基底クラスを使うって正しいのでしょうか?以下の例でいうとEncryptクラスの部分です。 抽象メソッドが定義できないようなので、基底クラスにメソッドを用意しても 下位クラスが実装するかどうかは保証できません。これ…

RubyでVisitorパターン

Rubyの場合、メソッドの引数に型を指定できないため、 ダブルディスパッチャが使用できないので、 メソッド名を分けて実装するみたいです。 # ファイルの一覧を出力するプログラム。 class Node def initialize(path) @path = path @name = File.basename(pa…

Rubyでインクリメント

インクリメント演算子はない! num += 1

Rubyでアクセサメソッド

1行でアクセサ作れるなんて、ステキです。 class Person def initialize(name, age) @name = name @age = age end # いわゆるゲッター attr_reader :name, :age # いわゆるセッター attr_writer :name, :age # セッターゲッターを同時に作成 #attr_accessor…

Rubyでコンストラクタ

initializeメソッドがコンストラクタのようです。 class Test def initialize(name = "unknown") @name = name end end test = Test.new("agata")

Ruby、始めました

マーチンファウラーのblikiのサンプルとかもRubyだし、 やっぱオブジェクト指向なスクリプト言語でしょうということで、 前々気になっていたRubyを使い始めました。Macは最初からRubyインストール済みなので、インストールの必要はありませんでした。まずは…