- Ruby on Railsで絞り込み用に複数のチェックボックスを作成する方法 @ もっとクールにプログラミング
- OpenStruct使うのかぁ。なるほど。
- Rails – 行ごとにチェックボックスを作成する方法 @ Tamrable
- 全く同じ処理探してたんで助かりました。
メモメモ。
コンストラクタの中での例外の話し。
この議論の中でValidatableについてリンクが貼られていた。この辺見てて思ったんだけど、型チェックある言語使ったほうがいいんじゃないだろうか...。
2012/03/25 追記:
よくよく考えるとこれいいな。コンストラクタでどうしても例外が発生する可能性がある場合は、例外を握りつぶした後エラーチェックすべきか。でも、エラーチェックを忘れそう...。ムムムム。
puts Object.constants.find_all {|c|
(cc = Object.const_get(c)) &&
cc.respond_to?(:ancestors) &&
cc.ancestors.include?(StandardError)
}.sort2012/01/02: 個人的にはStandardErrorを親クラスに持つより、Exceptionを親クラスに持つものを調べたほうが便利っすね。
Ruby 1.9 で Web アプリを想定したベンチマークをとってみた
Ruby1.8とRuby1.9でベンチマークを取ってくれています。ボトルネックって、実測してみるとへぇーって思うところにあったりすることが多々ありますよねぇ。
大量の文字出力があるコマンドラインアプリを作りました。その中の数行の出力結果が非常に長い場合、結果が見にくくてしょうがない問題に襲われました。
そこで、指定文字数だけ出力して残りを切り捨てるsnippetを追加。split(//)で1文字ずつhitさせるのが、multi-byte文字を扱うときの定石らしいですね。なんとなく実装しましたが、もっとうまい方法ないかなぁ...
def truncate(string, width)
if string.length <= width
string
else
abbr_symbol = "..."
string = string[0, width - abbr_symbol.length]
# Even if string consisted multi-byte characters,
# number_of_character would work well.
number_of_character = string.split(//).size
# Last character may be broken.
string = string.split(//)[0, number_of_character-1].join
(string || "") + abbr_symbol
end
end
2011/06/23追記:
こういうときはjustified(揃える)という英単語を使うらしい。この場合だとleft_justifiedか。適切な名前がすぐに思いつくようになりたいなぁ...orz
2011/07/01追記:
String.ljustでもっと簡単に実装できる気がしてきました...。