2007-01-01から1年間の記事一覧

それでも町は廻っている

斜め上の面白さだった。 ○本の住人とかまとちゃんとかと同じにおいがする。

Rua: Luaの関数をcall

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/rua/rua/?root=svn できるはできた…が頻繁にSEGVがおきる。 いらない機能かなぁ。。。 追記 例外まわりがアレなんだ!追記2 Rubyのノリで書いてるとlocal付けるの忘れるなぁ。。。 require 'rua' rua = R…

lua_getglobal

LUA

変数が見つからなかったら、nilをスタックに積むっぽい。 一応、メモ。

Rua: 大域変数の定義とか追加

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/rua/rua/rua.c?root=svn&view=markup LuaかわいいよLua。 も、さっくさく実装が進む。 とりあえずの目標。 Luaで定義した関数をRubyで呼ぶ Rubyで定義した関数をLuaで呼ぶ Hashとテーブルの相互互換 Array…

link: K のこと

DEV

http://dodgson.org/omo/t/?date=20071103#p02

Rua: テーブルまわりとか

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/rua/rua/rua.c?root=svn&view=markup Array→テーブルは1オリジンにした。 Luaで定義した関数をRubyで呼ぶ Rubyで定義した関数をLuaで呼ぶ Hashとテーブルの相互互換 Array→テーブル require 'rua' rua = …

単純なRuby拡張を作った

とりあえず、簡単なのはさくっとできた。 rua.c (MSC) __declspec(dllexport) void Init_rua(void); #include "ruby.h" #include "lua.h" #include "lualib.h" #include "lauxlib.h" struct rua { lua_State *L; }; static void rua_free(struct rua *p) { i…

lua_pcallの戻り値

LUA

lua_pcallでコード辺を評価しても戻り値が帰ってこないな…と思ったら、引数の数を0にしてた。。。orzRuby的には def eval(argc = 1) とかしたほうがいいかな? 追記 コード辺でも明示的にreturnしないとnilが返ってきた。

printを呼ぶ

LUA

#include "lua.h" #include "lualib.h" #include "lauxlib.h" int main() { lua_State *L = lua_open(); luaopen_base(L); luaL_loadstring(L, "function f() print(0) end"); lua_call(L, 0, 0); lua_getglobal(L, "f"); if(lua_pcall(L, 0, 0, 0) != 0) { …

単純なeval

LUA

#include <stdio.h> #include "lua.h" #include "lualib.h" #include "lauxlib.h" int main() { lua_State *L; lua_Debug *ar; L = lua_open(); luaopen_base(L); luaL_loadstring(L, "a = 100 \n print(a)"); if(lua_pcall(L, 0, 0, 0) != 0) { printf("error: %s\n"</stdio.h>…

スタックを調べる

LUA

スタックが良く分からなかったので、調べてみた。 #include <stdio.h> #include "lua.h" #include "lualib.h" #include "lauxlib.h" int main() { lua_State *L = lua_open(); luaL_loadstring(L,"function f(x, y) return x + y end"); printf("top: %d\n", lua_gett</stdio.h>…

スタックを調べる その2

LUA

Rubyへの型変換を考える

LUA

とりあえずこんな感じかな。 Lua Ruby nil nil ブーリアン TrueClass/FalseClass 数値 Float 文字列 String 関数 Proc…じゃなくて独自定義かな? ユーザーデータ いらないっかな。。。 スレッド どうしよ。。。 テーブル Hash 今気づいたけどtrue/falseってB…

Ruby/MySQLの最新版

http://tmtm.org/ruby/mysql/ どうも、Railsに同胞されているドライバは独自バージョンっぽい。5.0への対応具合ってどうなんだろう?

gemのリポジトリが更新されない…

yahoo_jp_transitとtextwrapをバージョンアップしてRubyForgeに上げたんだけど、リポジトリのほうはまだ更新されてない。 まさか手作業でリポジトリの更新をやっているわけではなさそうだけど、いつ・どうやってリポジトリの更新が行われているか、よく分か…

組み込みのサンプル

LUA

ちょっとしたサンプル。2chの書き込みから。 #include <stdio.h> #include "lua.h" #include "lualib.h" #include "lauxlib.h" int main() { lua_State *L = lua_open(); luaL_loadstring(L,"function f(x, y) return x + y end"); lua_call(L, 0, 0); lua_getglobal(</stdio.h>…

AoR: ふりかえり

賞は頂いたけど、反省点も多いので振り返り。 正直、ShootingStarを使った作品が少なかったのが、受賞の要因じゃないかなぁ…と思う。講評でも今後に期待とのことだったし。 もっぱら一人で作ってて、ぜんぜんフィードバックを受けなかったのはイクナイ! 他…

link: 人名を冠したソフトウェア開発の19の法則

WEB

http://www.yamdas.org/column/technique/19laws.html

yahoo_jp_transit: Webサイトをアップ

http://yahoojptransit.rubyforge.org/ とりあえずrakeを使ってリリースとWebサイトのアップ。 ↓を参考にした。 http://eto.com/d/CreateRubyGemsPackage.html http://d.hatena.ne.jp/bellbind/20070605/1180979599 gemの名称とunix nameが違ったりして、少…

無理やり名前空間をネストする

クラス定義の柔らかさに依存するのってよくないよなー。 m = Module.new m.module_eval('class Foo; end') p m::Foo 文字列の変わりにブロックを使うと、スコープを共有しているせいか、トップレベルにFooが定義される。

小さな世界

小さな世界 (バーズコミックススペシャル)作者: 小路啓之出版社/メーカー: 幻冬舎コミックス発売日: 2007/09/22メディア: コミック購入: 2人 クリック: 23回この商品を含むブログ (33件) を見るイハーブの生活から5年かー。作風は相変わらず。 かげふみさん…

link: X41T…Officeでファイルを開くと待たされる

http://www.proteus.jp/MT/archives/2006/0726_1041_3393.php とりあえずOFFにした。

カレントの要素と次の要素で配列をまわす

つまりこんな感じ。 a = [1, 2, 3] a.zip(a.slice(1..-1)).each do |i, succ| puts "#{i} -> #{succ}" end 以前、はてブにあがっていたような。。。

"module private"な変数・メソッド

まれに欲しくなる。 > "module private" http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/41815

textwrap 0.1.1

http://rubyforge.org/projects/textwrap/ ~$ gem search -r textwrap *** REMOTE GEMS *** textwrap (0.1.0) Text wrapping and filling library like Python textwrap module.とりあえず、日本語に対応。 $KCODE = 'u' require 'textwrap' include Textwra…

AoR: Comet賞・審査員賞

http://rails.drecom.jp/award2007 AoRでComet賞と審査員賞を頂いた。わーい。 目録と副賞。 部屋がちょっと洗剤臭い。。。

content? contents?

http://q.hatena.ne.jp/1193281945 content派多し!ということでcontentに統一しようっと。 でも、Sticky Plus!はcontents…直すかなぁ。

明示的にロールバックする。

transaction do |transaction| david.withdrawal(100) mary.deposit(100) transaction.rollback! # rolls back the transaction that was otherwise going to be successful end

BackgrounDRbのスレッドまわり

new_worker()はBackgrounDRb側のプロセスで実行される。 ぱっと見る限り、スレッドが並列して動くように見える。 各ワーカはスレッドセーフになるように気をつける必要があるのかな? def new_worker(opts={}) @mutex.synchronize { job_key = opts[:job_key…

3桁区切り

"10000000".scan(/(\d+?)(?=\d{3}*$)/).join(",") #=> "10,000,000"