2010-05-01から1ヶ月間の記事一覧

暗黒面の開発力

不便さに対する怒りとか現実逃避とか仕事のストレス解消とか、負の感情をモチベーションとしたほうが、生産性が高いのではないかと思ったり思わなかったり。

bayon/Ruby 0.1.4

http://bayon.rubyforge.org/ リリースしました。 クラスタリングツールbayonのRubyバインディングです。g++じゃないとビルド出来ない。。。と思います。たぶん。

g++ 4.1.3でbayonがビルド出来なかった件

C++

結論としてはg++ 4.2.4にアップデートしたらビルドできた。どうもgoogle sparsehashのhash関数が、__gnu_cxx::hashだとダメっぽい(std::stringをハンドルするテンプレートがないみたいだった) g++ 4.2.4でstd::tr1::hashを使うようになったらビルドが通っ…

それでbayon/Rubyは…

以下のエラーを吐いているわけですが。 ~# ruby test.rb ruby: /usr/local/include/google/sparsehash/densehashtable.h:464: bool oogle::dense_hashtable::test_empty(const google::dense_hashtable_const_iterator&) const [with Value = std::pair, Key…

右辺値参照が分からない

C++

「一時オブジェクトを渡したときに移動できるようにするのね」と理解したつもりでコードを書いてみたけど、よく分からないところが… #include <string> using namespace std; class Foo { string s; public: Foo(const char* cs) { cout << "constructor" << endl; }</string>…

<%= で自動エスケープ

これを読んで何となく思いついた。 ERBのメソッドを書き換えればどうとでもできるなあ。やりたくないけど。 require 'erb' class ERB class Compiler # :nodoc: def compile(s) out = Buffer.new(self) content = '' scanner = make_scanner(s) scanner.scan…

Kirisame: とりあえず結果の取得まで

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/kirisame/ext/?root=svn require 'kirisame' client = Kirisame::Client.tcp('127.0.0.1', 3306, 'root', nil, 'mysql') qs = client.query('show tables', 'show databases') qs.run_all qs.each_with_in…

mkmf、CFLAGS

存在しない関数があるのにWarningが出ないな…と思っていたら、extconf.rbで作ったMakefileのCFLAGSに-Wallがないだけだった。 デフォルトのCFLAGSがどっからきているのかたどってみたら、最終的にはRubyをビルドしたときのconfig.statusまで行きついた。 「-…

cflowを実行する

cflowを実行する関数 (defvar *cflow-option-complete-list* nil "Cflow option complete list.") (defvar *cflow-file-complete-list* nil "Cflow file complete list.") (defun cflow() (interactive) (let (current file func) (setq current (get-clipbo…

多重代入、暗黙の型変換

to_aryメソッドが定義されてれば、Arrayじゃなくても多重代入っぽいことが出来た。 class Foo def to_ary [100, 200] end end foo = Foo.new a, b = foo p a #=> 100 p b #=> 200 下の書き方はアレな感じだ。 c = foo p c #=>#<Foo:0xb7cb95a0> d, = foo p d # => 100</foo:0xb7cb95a0>