2008-08-01から1ヶ月間の記事一覧

MySQL varchar(n)のカラム長

メモ MySQL varchar(n)のカラム長はバイト数ではなく、文字数。 よって、varchar(10)であればマルチバイト文字でも10文字可能される。以下を参考にしました。ありがとうございます。 http://d.hatena.ne.jp/sotarok/20070821/1187707045

クラスメソッドから擬似的にインスタンスメソッドを呼ぶ

メモ Class Foo def self.foo bar end def bar 'bar' end end Foo.foo #=> NameError : undefined local variable or method `bar` for Foo:Class などとクラスメソッドから同クラスのインスタンスメソッドを呼ぶと怒られるが Class Foo def self.foo f = Fo…

ActiveRecordはテーブル定義の初期値を認識する

メモ CREATE TABLE `tables` ( `flag` char(1) NOT NULL default '0' ); などというテーブルがあったとして、このテーブルに対応するモデルのインスタンスを作るとflagには'0'が入る。 t = Table.new p t.flag #=> '0' これは便利。今までSQLを書くのが面倒…

同じクラスに同じ名前のインスタンスメソッドとクラスメソッドが定義できる。

メモ class Foo def foo 'instance method' end def self.foo 'class method' end end f = Foo.new f.foo #=> 'instance method' Foo.foo #=> 'class method'