Ruby on Railsを再び学ぶ

昔に勉強したけど、その後全然使ってないのでさっぱり忘れたのでまたやり直し。ちょっとまともなウェブアプリを作ってみたい。

Read more »

Xbyakで動的に生成するコードからCの関数を呼び出す

Xbyakを使ったJITの続き。前回と同様、gcc4.2.1 (x86-64)でのみ動作確認。

Read more »

TexturePackerを自作した

OpenGLなどでスプライトの描画をするとき、絵のパターンごとにテクスチャが分かれていると、スプライト1つ1つに対してテクスチャをセットして四角形を描画、次のテクスチャをセットして四角形を描画、というのを繰り返すことになる。しかしそのようなステート変更が増えると非常に負荷がかかる。そこでスプライトシートという方法を使う。

Read more »

mrubyでvoidpの値を扱うと死ぬ

mrubyにはCのデータポインタをmruby側に持ち込む方法としてDATA型とVOIDP型というものがある。公式のドキュメントがないのでなんともわからないけどソースや動作から推測すると、DATA型はポインタの所有権を持つ型で、VOIDPは持たない型になる。

Read more »

mrubyでエラー発生時にバックトレースを表示する

mrubyのスクリプト内でエラーが起きたときにエラーの起きた行番号が表示されなくて不便だなーと思っていたのだけど、出し方がわかったのでメモ。

Read more »

mrubyでmrb_yieldを使うとselfの値が壊れる

mrubyをCocos2dxに組み込んで使おうとしているのだが、一部動作がおかしいと思われるところがあった。

Read more »

cocos2dxでmrubyを使えるようにして、スマホのゲームをrubyで作る

mrubyでブロック内のselfの値が戻り値によって壊れる

mrubyでブロックをコールバック関数として登録してあとから呼び出して使おうとしたところ、ブロック内のselfの値がおかしくなるケースがあった。

Read more »