Ruby

クラスメソッドを持つモジュールを include

つい最近 Find というモジュールがあることを知った。んで、 refe で調べてみる。 % refe find Enumerable#find Enumerable#find_all Find.findtypo したおかげで、Find.find ってその '.' は何ですか、という疑問が。 % refe Find ==== Find ==== # find.rb…

vim で refe

何気に http://www.vim.org/ を見てたら、ri-browser というのを見つけた。 ri-browser - Ruby Information at your fingertips : vim online vim の中で ri を呼びだす代物。ri でもいいんだけど、日本人なら ReFe っしょ、ということで .vim/plugin/ri.vim…

del.icio.us にもポストできるようにした

タイトルのとおり。 http://technetium.matrix.jp/xpostbm/xpostbm_cgi.rb http://technetium.matrix.jp/xpostbm/xpostbm.tar.gz

Symbol#to_proc

Symbol#to_proc これはいいな。すごいな。 irb(main):001:0> class Symbol; def to_proc; Proc.new{|obj,*args| obj.send(self,*args)}; end; end irb(main):002:0> require 'bigdecimal' irb(main):003:0> require 'bigdecimal/util' irb(main):004:0> [0.5…

TypeError: can't dump hash with default proc

ブロックで初期値を決めてる Hash オブジェクトを PStore で保存しようとしたら怒られた。ぶらさがってる Proc が Marshal.dump できないためだった。こういう場合はどうすればいいんだろう。Object#marshal_dump と Obj#marshal_load(obj) を使えばいいんだ…

ソーシャルブックマークをクロスポスト

はてブとか MM/memo にポストする CGI を Ruby で書いてみた。 http://technetium.matrix.jp/xpostbm/xpostbm.rb http://technetium.matrix.jp/xpostbm/xpostbm_cgi.rb http://technetium.matrix.jp/xpostbm/xpostbm.tar.gz やっぱりサービスにするには怖い…

はじめての extend

モジュールもクラス変数を持てるんですね。知らなかった。モジュール / クラスが require されてからプロセスが終了するまでは、そのモジュール / クラスのクラス変数はずっと同じオブジェクトって認識でいいんだろうか。多分いいんだろうな。というのもある…

eval がよくわからない

% cat eval1.rb ; ruby -v eval1.rb a = 1 eval('a = 2') p(a.inspect) ruby 1.8.4 (2005-10-29) [i486-linux] "2" % cat eval2.rb ; ruby -v eval2.rb eval('a = 2') p(a.inspect) ruby 1.8.4 (2005-10-29) [i486-linux] eval2.rb:2: undefined local varia…

evalog

もちろんネタです。とりあえずなんでもいいから eval したかった。 http://technetium.matrix.jp/evalog/

ja_JP.UTF-8 で refe

irb で ri を使う方法は知っていたが、refe にするとなおさら便利ですね。すごいや。 Irb/TipsAndTricks - 2nd life っつーわけで早速試したわけだが、refe の出力は euc-jp なので % refe OptionParser | lv とかしていたのだった。いい機会なので zsh のシ…

空文字でない場合

ruby で String インスタンス str が str.empty? => false の時だけ hoge(str) したいっつーのはどう書けばいいんだろうか? hoge(str) unless str.empty? hoge(str) if !str.empty? if str.empty? then else hoge(str) end たぶん 1 か 2 だろうなぁ。あ、 h…

Rubyのプログラムで今月「日曜日」が何回あるのか教えてください。

question:112912018129日から31日のあいだに日曜日があるかどうかなので require 'date' p (29..31).map{|day| Date::new(Date::today.year, Date::today.month, day).wday rescue nil}.include?(0) ? 5 : 4かな。