福嶋です。

matz / netlab.co.jp (Yukihiro Matsumoto) wrote:
> |>     Rubyでは0がfalseでないので、そのまま変換したのでは期待通
> |>     りに動作しないので、このint型の関数は実はbooleanとしての
> |>     戻り値であることを示すpragmaが欲しいです。実際には

> に近いですね。ただ、boolという型を要求するってのはヘッダファ
> イルそのものとはプロトタイプが違って来てしまうので、pragmaの
> 方が良いのではと考えていたのです。
> 
>   %pragma(ruby) pred = "foo"
> 
> で、戻り値をboolにし、メソッド名に ? を付加するとか。

この形式で、pragmaを使えるようにしてみました。
お試し下さい。

ただし、クラス定義の中でしか使えません。つまり、SWIGが定義するモ
ジュール直下の関数には使えません。

これは、現在のSWIG本体の動作では、pragmaがクラス定義の中で現れた
のか、外で現れたのか区別できないためです。これをできるようにする
には、pragma以外の方法で述語であることを指定できるようにしなけれ
ばなりません。

---
福嶋正機