Ruby
IIJmioと契約しているおかげで、自宅サーバーのPostfixからメールを送信することができない*1。メールを送れないのはいろいろ困るので、とりあえずmailコマンドのサブセットっぽいことができるスクリプトをrubyで書く。DreamHostのSubmissionポートを使ってS…
Ruby Implementations Shootout: Ruby vs Yarv vs JRuby vs Gardens Point Ruby .NET vs Rubinius vs Cardinal : jaYARVすげー。ささださんすげー。
自分自身を出力するプログラムRuby版。 b = %(proc{|x| "b = %(#\{x\}) qb = b.gsub(35.chr+123.chr, 35.chr+92.chr+123.chr) qb = qb.gsub(125.chr+33.chr, 92.chr+125.chr+33.chr) puts eval(b).call(b)"}); qb = b.gsub(35.chr+123.chr, 35.chr+92.chr+12…
昨日に引き続きコードを書き換える作業を少し進める。似たような機能で、微妙に異なる動作をするメソッドを1つのメソッドにまとめる場合に、Rubyでは引数をハッシュ1つにまとめてしまって、キーでオプションを指定して動作を変える、という方法がとても強力…
ActionWebServiceでメソッド名を get_hogehoge と定義した場合、リモートからXML-RPC等でアクセスするときは、メソッド名をGetHogehogeとして呼ばないと、no such methodと怒られる。
昨日寝る前に、RubyのContinuation関係のページをざーっと眺めて、「あーわかんねぇ」と思いながら眠りについた。で、さっき起きて改めて眺めていたら、なんとなくContinuationの概念が分かってきた。ただ、Rubyのcallccはまだよくわからん。JavaScriptのyie…
Code Golfというプログラミングコンペ的なサイトに参加してみる。やることは、いかに少ない文字列のソースコードで、定められた課題のテストをクリアするか、という問題。とりあえず、素因数分解をする課題についてはなんとかテスト通過。じつは怪しい部分も…
http://jp.rubyist.net/magazine/?0016-ForeWordまつもとさんがんがれ。
[結] 2006年8月 - 結城浩の日記に登場するトドちゃんをカウントするPerlスクリプトにインスパイヤされて*1、トドちゃんをカウントするスクリプトRuby版。かっとなって作った。今は反省している。 使い方 このスクリプトを、パスの通った場所に'todo'というフ…
Gmailer GmailをRubyから使うライブラリ Tioga TeXを利用して、Rubyから図や数式、グラフなどをPDFに出力できるライブラリ あとで試す、かもしれない。
ActiveRecordなんかでも活用されているmethod_missingを自分で実際に使ってみる。使用方法としては、Hashへのメソッド的アクセス。 class Hoge attr_accessor :params def method_missing(name, *args) if /^(.+?)=$/ =~ name.to_s @params[$1.to_sym] = arg…
を作った。ソースは自分から人に見せたがるほど綺麗なものでもないので、ここには書かない。GSVN-dumpは、「ゴスヴンダンプ」と読むべきかもしれません。ジーエスヴイエヌだと言いにくいし。 GSVN-dump動作の流れ gsvn dump --gmail とかユーザーがコマンド…
テストケース []require[] []'[][]test/unit[][]'[] []require[] []'[][]adapter[][]'[] []class [][]TestAdapter[] []<[] []Test[][]::[][]Unit[][]::[][]TestCase[] []def [][]setup[] []@text[] []=[] []"[][]aaaa[][]"[] []@banner[] []=[] []Banner[][]…
Rubyで書いていきます。RubyにはIteratorがすでにあるという話はおいといて。テスト駆動で行きましょう。まずはテストケース test_iterator.rb []require[] []'[][]test/unit[][]'[] []require[] []'[][]iterator[][]'[] []class [][]TestIterator[] []<[] […
Ruby Numerical Library (RNum)はBlasとLapackを使った、めちゃんこ速い(ultra fast)線形代数のパッケージです。 http://rubyforge.org/projects/rnum
Watir IEコンポーネントをRubyから操作してテストするツール。Windows+IE限定。 Selenium HTMLでテスト手順を指定。ブラウザ上で動くため、クロスプラットフォーム。 Selenium-IDE Firefox拡張。ブラウザの操作を記録して、テストを作成する。 Selenium on R…
rubyでは、makeというメソッドがあったときに make(:breakfast) と書くこともできるし、 make :breakfast と書くこともできる。 好みの問題もあるけど、.eachとか.to_sを後ろにつなげたりして、()が必要不可欠なとき以外は、後者のように書くのがRubyなんじ…
時期が時期だけに、大学のテストかと思わせて、Rubyのユニットテストの話。Windows上では使えないライブラリ*1を使うプログラムを書くときに、ユニットテストがかなりの威力を発揮する。プログラムを書いて、思いつくだけのassertionを書いて、linuxとかにも…
Programming Ruby: The Pragmatic Programmer's Guide, Second Edition作者: Dave Thomas,Chad Fowler,Andy Hunt出版社/メーカー: Pragmatic Bookshelf発売日: 2004/10/11メディア: ペーパーバック クリック: 7回この商品を含むブログ (15件) を見る日本語訳…
最近は、2次情報とか3次情報に甘んじているのもどうかと思って、積極的に海外の動きを追うことにしているわけですが、そんな中でlivedoor Readerに登録したRubyForgeのニュースから面白いライブラリを発見。それがWWW::Mechanize。WWW::Mechanizeの用途は、W…
Rubyでクラスを定義するときに、@@をつけるとクラス変数、@をつけるとインスタンス変数となる。 で、クラスメソッド内でインスタンス変数にアクセスしたらどういう挙動を示すのかちょっと調べること10分。 サブクラスを含めてクラス内のあらゆる所からアクセ…
最近読み始めた。Introductionくらいまで。テストで忙しくてサンプル作れないっつー話です。それはそうとRubyがなかなかよさげ。Perlよりも見た目がきれいなのもポイント。 フォルダ内のあるキーワードをファイル名に含むものを、全部別のフォルダに移すコー…