トップ 最新 追記

活動日誌


2006-08-04

[Rails]Ticket #5706

Rails の trac が直ったようなので、投稿した。

http://dev.rubyonrails.org/ticket/5706


2006-08-07

[Rails] fixtures 指定の typo

rake test:units で次のようなエラーが出てしばらく悩んだ。

/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/errors.rb:94:in `check': SQL logic error or missing database (SQLite3::SQLException)
        from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/resultset.rb:76:in `check'
        from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/resultset.rb:68:in `commence'
        from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/resultset.rb:61:in `initialize'
        from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/statement.rb:158:in `execute'
        from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/database.rb:211:in `execute'
        from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/database.rb:186:in `prepare'
        from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/database.rb:210:in `execute'
        from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/database.rb:620:in `rollback'
         ... 13 levels...
        from /usr/local/lib/ruby/1.8/test/unit/autorunner.rb:200:in `run'
        from /usr/local/lib/ruby/1.8/test/unit/autorunner.rb:13:in `run'
        from /usr/local/lib/ruby/1.8/test/unit.rb:285
        from /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader.rb:5

落ちついてコードをじっくり見ると、fixtures の引数に渡している名前を typo していただけだった。


2006-08-09

[Rails] :include

ActiveRecord::Base.find で、:conditions に関連テーブルの条件を指定する 場合に :joins で結合していたが、このときでも :include で大丈夫なようだ。(考えてみたらそれはそうか)

http://www.fdiary.net/ml/rails/msg/869

で、:joins を :include に修正する途中で気づいたが、 ActiveRecord::Calculations の calculate は :include を使えないようだ。 なぜだろう。

http://api.rails2u.com/docs/activerecord/classes/ActiveRecord/Calculations/ClassMethods.html#M000329


2006-08-17

[Ruby] when でのカンマ

調べる余裕がなくてまだ調べていないのだけど、

case n
when 1, 2, 3
  # ...
end

で出てくるカンマは、文法上どう解釈されているのだろうか。

case n
when *[1, 2, 3]
  # ...
end

は通って、意味は上と同じになるが、

*[1, 2, 3] === n

というのはシンタックスエラーになる。

[1, 2, 3] === n

だと、n == 1 などのときには false になる。


2006-08-22

[Subversion]Subversion で削除したアイテムの復活

Subversion において、削除したアイテムを復活させるには 削除直前のリビジョンを指定して svn copy するのがよい方法のようだ。

http://subversion.bluegate.org/doc/ch04s04.html#svn.branchmerge.commonuses.resurrect


2006-08-25

[Ruby]module で参照する定数を、include するクラス側で決めたい

普通に X と書くと参照できないので、self.class::X のようにする。

irb(main):001:0> module M
irb(main):002:1>   def f; p self.class::X; end
irb(main):003:1> end
=> nil
irb(main):004:0> class C
irb(main):005:1>   X = 'x'
irb(main):006:1>   include M
irb(main):007:1> end
=> C
irb(main):008:0> C.new.f
"x"
=> nil

定数参照のルールはよく分かっていないなあ。

include が絡んだときの話ってリファレンスマニュアルにはないのだろうか。

Rubyリファレンスマニュアル - 変数と定数 ruby-list:42599


2006-08-26

Lightweight Language Ring

行きました。

http://ll.jus.or.jp/2006/


2006-08-29

Development Environment Conference

http://shibuyajs.org/articles/2006/08/28/development-environment-conference

12時ちょうどにリロードをして参加申し込みをしました。

追記

12:05にアクセスしてみたら、もう募集が締め切られていました。 やっぱり張り付いて正解だったか。


2005|02|03|04|05|06|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|10|
2008|04|10|
2009|10|
2010|05|08|
2012|01|02|03|
2014|01|
2022|05|
トップ 最新