2006-03-14から1日間の記事一覧

Digest::MD5.hexdigest

RubyのプログラムからファイルのMD5値を得てみました。もっとも単純な方法は、Digest::MD5.hexdigestを使う方法です。 詳しくはrefe Digest::Baseあたりを調べましょう。riでは見つかりません。 require 'pathname' require 'digest/md5' p = Pathname.new("…

singleton_method_added

Object#singleton_method_added, Object#singleton_method_removedを使うと、特異メソッドの追加と削除を監視できます。 class Rubyco def self.singleton_method_added(sym) puts "singleton_method_added(#{sym})" end def self.singleton_method_removed(…

set_trace_func

set_trace_funcを使ってProcオブジェクトを登録すると、インタプリタの動きにあわせてそのオブジェクトが呼び出されます。 set_trace_func proc { |event, file, line, id, binding, klass| print "#{event}, #{file}, #{line}, #{id}, #{binding}, #{klass}…

send

Object#sendメソッドは、メソッド呼び出しを行うメソッドです。 class Rubyco def self.hello(name) puts "Hello #{name}!" end end Rubyco.hello('Alice') #=> Hello Alice! Rubyco.send(:hello, 'Alice') #=> Hello Alice!