2019-02-11から1日間の記事一覧

RubyのRefinementされたメソッドの性能

通常のメソッドと比べて性能に差があるのかどうか比べてみた。 require 'benchmark' class Integer def to_comma to_s.reverse.scan(/\d\d?\d?/).join(',').reverse end end def method_no_args end module RefineMethod refine Object do def refine_method…

Rubyのaccept_nonblock(exception: false)

Rubyのサーバーソケットのaccept_nonblockは、IOのread_nonblockと同様にexception: falseでIO::WaitReadableを投げないようにできる。 例外を投げる場合と投げない場合で、どれくらい差があるものなのか実験してみた。 require 'benchmark' require 'socket…

Emacsのimenuで選択される関数名の横幅をもっと広くする

Emacsでプログラミングするときにhelm-imenuでよく関数定義へジャンプするのだが、デフォルトだとimenuの候補に出てくる関数名が60文字でぶった切られて、長い関数名が隠れてしまう。名前空間がネストしたり分かりやすいクラス名やメソッド名をつけると60文…