3

同等のことをしたい

::Infinity= 1.0/0

Cで書かれたルビー拡張子で。

これまでのところ私は思いついた

rb_const_set(rb_mKernel, rb_intern("Infinity"), rb_float_new(1.0/0));

これにより、ゼロ除算によるコンパイラの警告が表示されます。と

rb_const_set(rb_mKernel, rb_intern("Infinity"), rb_eval_string("1.0/0"));

これは、の使用により醜いですeval

これに対するクリーンで適切な解決策は何ですか?

4

1 に答える 1

1

私はこの質問で答えを見つけました。

rb_const_set(rb_mKernel, rb_intern("Infinity"), rb_float_new(INFINITY));

これに対するコンパイラの警告はありません。

于 2011-10-28T22:56:28.163 に答える