2009-06-01から1ヶ月間の記事一覧

最後の星戦

読了。面白かった〜。最後の星戦 老人と宇宙3 (ハヤカワ文庫SF)作者: ジョン・スコルジー,前嶋重機,内田昌之出版社/メーカー: 早川書房発売日: 2009/06/25メディア: 文庫購入: 3人 クリック: 26回この商品を含むブログ (47件) を見る

Ruby1.9、Windows、バイナリ

Ruby1.9のライブラリの、Windowバイナリってあんまり配布されていないような気がする。 野良ビルドしている人は多そうだし、バイナリだけ集めたポータルって作れないもんかなー?

POPFileの単純ベイズの実装

これを見ながら。 たぶんどっかまちがってるはず。 class Classifier class Bucket attr_reader :name attr_reader :words def initialize(name, classifier) @name = name @classifier = classifier @words = 0 end def <<(words) words.each do |word| @cl…

Aaron Pattersonさんがthe 2009 ruby chindogu prizeにノミネートされてた

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/339621 たしかに変わったツールだ。

日本Ruby会議2009のチケット買えた

17日に追加販売開始ってすっかり忘れてて、ほとんど諦めてたら何故か買えた。

コードの圧縮を試みる

C++だと似たようなコードを繰り返し書いていたので、コードの圧縮を考えてみる。 #include <string> #include <map> #include "hello.h" using std::string; using std::map; class MyMap : public DataWrapper<MyMap> { std::map<string, string> m; DEF(initialize, (0, ())) { return Qnil; } </string,></mymap></map></string>…

bayon/Ruby

CodeReposに移動。 http://coderepos.org/share/browser/lang/ruby/ruby-bayonRubyのクラスを間に挟むようにした。 require 'bayon' docs = Bayon::Documents.new docs.cluster_size_limit = 3 docs.add_document('Jacob' , 'J-POP' => 10, 'J-R&B' => 6, 'R…

bayon/Ruby 0.1.0

http://bayon.rubyforge.org/

ruby-dice

http://rubyforge.org/forum/forum.php?forum_id=33025 いい発想だwww

bayon: VCでビルドできた

C++

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/test-bayon/?root=svn 現状ではSTLのMapではビルドできないみたい。VCだからかなぁ。

bayonのRubyバインディング

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/ruby-bayon/?root=svn http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/ruby-bayon/ext/bayon.cpp?root=svn&view=markup おおむね出来た。 require 'bayon' include Bayon $users = { 1 => '阿佐田', 2…

Zip/Ruby 0.3.2

http://rubyforge.org/frs/?group_id=6124 SHITAMORI Akiraさんからマクロの誤りのご報告があったので、修正してリリースしました。 Index: libzip/zip_error_to_str.c =================================================================== --- libzip/zip…

SLTのMapにresize()はない?

C++

bayonをビルドしようとして引っかかった。 VCとgccで確認。

音速ライン / ラリー

PVいいなぁ。

2進数表示

C++

JavaのInteger#toString()みたいに、基数を指定して文字列に変換ってないのかなー。 #include <iostream> template<class T> void println_binary(T x) { static const char * const table[] = { "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "100</class></iostream>…

staticメンバなvectorの初期化

C++

間違ってないかなぁ… #include <iostream> #include <vector> using namespace std; struct Foo { static const vector<int> v; static vector<int> new_v(); }; vector<int> Foo::new_v() { vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); return v; } const vector<int> Foo::v = Fo</int></int></int></int></int></vector></iostream>…

staticメンバなvectorの初期化 その2

C++

普通に使える感じだけど、罠がある気が。 #include <iostream> #include <vector> using namespace std; class Foo { static const vector<int> v; static const vector<int> new_v(); public: void func() { for(vector<int>::const_iterator i = Foo::v.begin(); i != Foo::v.end(); i++) { </int></int></int></vector></iostream>…

サイズの違うvectorの代入

C++

大きい場合 #include <iostream> #include <vector> int main() { using namespace std; vector<int> v(3); for (vector<int>::iterator i = v.begin(); i != v.end(); i++) { cout << *i << endl; } v = vector<int>(5, 1); for (vector<int>::iterator i = v.begin(); i != v.end(); i++) { cout <</int></int></int></int></vector></iostream>…

渡されたブロックをProcで取得する

忘れがちなのでメモ。 rb_block_proc();

rb_iterate

忘れがちなのでメモ。 #include "ruby.h" static VALUE main_proc(VALUE arg) { VALUE each = arg; return rb_funcall(each, rb_intern("call"), 0); } static VALUE block(VALUE call_arg, VALUE block_arg, VALUE self) { rb_p(call_arg); rb_p(block_arg)…

win32fiber(失敗)

WindowsのFiberでcoroutineを作れないかと思ったものの、案の定、失敗。 動かないソースだけ貼り付けとく。 #include <windows.h> #include "ruby.h" static VALUE Fiber; static VALUE FiberError; struct win32fiber { LPVOID main_fiber; LPVOID fiber; VALUE proc; </windows.h>…

Queueによるcoroutineもどき

require 'thread' class Coroutine def initialize(&block) raise 'block not given' unless block_given? @q = Queue.new @th = Thread.start do @q.pop block.call(self) end end def yield @q.pop end def resume(*args) @q.push(args) end end coroutine…

インディ大高ジョーンズ

なつかしーwww

TR1: shared_ptr、真偽値テスト

C++

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf 「2.2.3.5 shared_ptr observers」に「operator unspecified-bool-type () const;」の定義があった。 operator unspecified-bool-type () const; 16 Returns: an unspecified value that…

shared_ptr、bool、キャスト

C++

Boostだとboolへのキャストはオーバーロードされてた。 // implicit conversion to "bool" #if ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__) operator bool () const { return px != 0; } 追記 その下に#elif…

null値のshared_ptr

C++

melponnさんにコメントをいただいたので早速使ってみた。 #include <iostream> #include <string> #include <vector> #include <memory> using namespace std; using namespace std::tr1; int main() { typedef shared_ptr<string> strp; vector<strp> v; v.push_back(strp(new string("foo"))); v.push_back(</strp></string></memory></vector></string></iostream>…

null値のshared_ptr その2

C++

http://kabuki.spring8.or.jp/Members/matusita/forums/cpp-tips/document.2005-10-09.6758608810 「shared_ptr(static_cast(0))」じゃなくて、デフォルトコンストラクタで生成すれば良かったのか・・・。 「if (p)」は間違い? 追記 ひょっとして「shared_ptr:…

scoped_ptrでメンバ変数

C++

なんかもう「Boost使っちゃいYo!」って気がしてきた。 #include <iostream> #include <string> #include <boost/scoped_ptr.hpp> using namespace std; class Child { public: Child() { cout << "Child::new(): " << this << endl; } ~Child() { cout << "Child#delete(): " << this << endl; } }; c</boost/scoped_ptr.hpp></string></iostream>…

_Bool_type

C++

_Bool_typeが気になったので少し調査。 #include <iostream> using namespace std; class TrueFalse { bool r_; public: TrueFalse(bool r) : r_(r) {}; operator std::_Bool_type() const { return r_ ? _CONVERTIBLE_TO_TRUE : 0; } }; void print_bool(TrueFalse& t</iostream>…

vectorの2次元配列をポインタにする

C++

正しいんだろうか…? #include <iostream> #include <string> #include <vector> using namespace std; int main() { vector< vector<int>* >* pvv; pvv = new vector< vector<int>* >(); pvv->push_back(new vector<int>(4)); pvv->push_back(new vector<int>(4)); pvv->push_back(new vector<int>(4)); /* ↓だ</int></int></int></int></int></vector></string></iostream>…