Ruby

Ruby の Mechanize を使って Yahoo! JAPAN にログインする

mechanize は version 2.3 を使用 (現時点最新).要約 : 正しいブラウザであると見せかけ .albatross を倒し連続アクセスを避ければ良い(2012-03-05 追記) 単なる code snippet なんで gist に移しましたlogin to Yahoo! JAPAN with Mechanize on Ruby - Rub…

RVM から rbenv + ruby-build に乗り換えました (on Ubuntu 10.04 Server)

複数の Ruby 環境を管理するために今まで RVM を使っていましたが,rbenv と ruby-build を使う方が便利だよとか Bundler あるのに gemset とかオワコンとか聞いた気がするので乗り換えました.簡単に概念を説明すると,rbenv で複数の Ruby 環境を管理出来…

Mechanize 1.0.0 でログインが必要なサイトの情報を取得

色々調べて回ってたんだけど Mechanize の解説が古いバージョンのばっかりで参考になるようなならないような状況なので,適当にまとめる.実験環境は Ubuntu 11.04,Ruby 1.9.2,gem 1.6.2 です.RVM 使ってます.まず Mechanize が無いと始まらないというこ…

inject の罠

Problem 1 - Project Euler1000 未満の 3 または 5 の倍数を足し込む問題.ここで早速以前習得した inject を使ってみる. p (1...1000).inject(0) { |s, i| if i % 3 == 0 || i % 5 == 0 then s += i end } 実行すれば分かるがエラーになる. p (1...1000).…

階乗計算のシンプルな書き方

def factorial(x) return (1..x).inject(1) { |f, i| f * i } end inject とか初めて知りました.あとこれも今日知ったのですが Ruby は末尾再帰の最適化がどうやら無いようなので, def factorial(x) return (x > 1)? x * factorial(x - 1): 1 end は律儀に…