Ruby

電球を取り替えるのに何人の Ruby ハッカーが必要か

おもしろかったので、http://yugui.jp/articles/853をおおざっぱに翻訳してみました。しかし、日本人のブログを日本語訳してみました、つーのもなんか変だな。英語は苦手だし、Ruby の開発に詳しいわけでもないので、おかしいところがあると思います。ご指摘…

Gentoo で getnameinfo が失敗

書き直しーGentoo Linux の Ruby 1.8.6 (dev-lang/ruby-1.8.6_p369) で WEBrick を動かそうと思ったらエラーに irb(main):002:0> s = WEBrick::HTTPServer.new(:Port=>8000, :DocumentRoot=>Dir::pwd) [2009-08-25 20:42:31] INFO WEBrick 1.3.1 [2009-08-25…

特異メソッドを定義するメソッド

久しぶりの更新。やっぱり、環境が変わったもので、いろいろいっぱいいっぱいだったのでした。まだしばらくいっぱいいっぱいだと思う。それはさておき、ここしばらく Ruby で「特異メソッドを定義するメソッド」を定義したくて悩んでいたのでした。さっきで…

Enumerable#sub_sequence?

ないみたいなので、書いてみた。 require 'enumerator' module Enumerable def sub_sequence?(other) enum_cons(other.length).any?{|subseq| subseq == other} end end アルゴリズムとしては一番あたまわるい方法だよな*1、これ、とか、1.9 では enumerator…

Array#uniq と Object#eql? と Object#hash

常識なのかもしれないけど、ちょっとだけはまったので、メモ。Array#uniq は配列から重複した要素を取り除いた新しい配列を返すメソッド。 ["hoge", "fuga", "piyo", "piyo", "hoge", "fuge"].uniq #=> ["hoge", "fuga", "piyo", "fuge"] ただし、自前で定義…