- 追加された行はこの色です。
- 削除された行はこの色です。
#contents
#ls2
* ri で全てのメソッドの説明を表示する
標準だとクラスについて引いたときに、メソッドの一覧しか出ないので、~
全部表示されるように修正したパッチを書いてみた。~
&ref(ri_display_methods_with_class.patch);
Debian ri1.8 1.8.5-2 用(他では知らない。
* perl2ruby
** use lib
$LOAD_PATH << File.dirname(__FILE__) + '/foo'
** $a =~ /b/
# 逆でも可
# こっちの方がRuby的?
/b/ =~ $a
** 正規表現の文字列先頭/末尾
- 先頭 \A
- 末尾 \z
\Z は文字列末尾が改行の時、改行の前
* irb と例外
irb で開けないファイルをopenしても何もいわれないのな?
* STDOUT.reopenの謎
begin
stdout = STDOUT.clone
STDOUT.reopen('cannot_write_file', 'w')
ensure
STDOUT.reopen(stdout)
end
みたいなことがしたいのだが、ファイルを開くのに失敗している場合、~
ensure の reopen で下記のエラーになる(Debian ruby 1.8.5-3)
Bad file descriptor (Errno::EBADF)
reopen の時に一旦ファイルを開くと問題なく動く。~
納得いかねー。
STDOUT.reopen( File.open('/tmp/not_writable', 'w') )
* 挙動謎
- Net::HTTPResponse#read_body
-- 違う結果に対して実行しても 2回目だといって怒られる
- Net::HTTP#post_form
-- エンコード周りが謎なのかなんなのかよく分からん 大人しく start からやっとけと
* Ruby on Rails
** Lost connection
Mysql::Error: Lost connection to MySQL server during query: SHOW FIELDS FROM XXXs
mysqlのモジュールが存在しない場合、scaffold な XXX にアクセスして上記メッセージが発生する。
** pluralize
クラス名(単数)⇔ テーブル名(複数)の変換