1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[DOC] Mention RBOOL in extension.rdoc [Feature #13125]

This commit is contained in:
Nobuyoshi Nakada 2021-12-13 13:05:40 +09:00
parent 54f0e63a8c
commit 9ad34da47f
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
2 changed files with 30 additions and 0 deletions

View file

@ -190,6 +190,21 @@ INT2NUM() :: 任意の整数からVALUEへ
INT2NUM()は整数がFIXNUMの範囲に収まらない場合Bignumに変換
してくれます(が,少し遅い)
Cの真偽値をRubyの +true+ または +false+ に変換する
RBOOL() ::
<code>RBOOL(v)</code> は _v_ が非0のとき +Qtrue+ ,それ以外
の _v_ が0のとき +Qfalse+ を返します.
注意: RBOOLは定義されているのはRuby 3.1以降なので,それより
古いバージョンをサポートするプログラム中で使いたいときは,以
下のような定義を追加しておく必要があるでしょう.
#ifndef RBOOL
#define RBOOL(v) ((v) ? Qtrue : Qfalse)
#endif
=== Rubyのデータを操作する
先程も述べた通りRubyの構造体をアクセスする時に内容の更新を

View file

@ -169,6 +169,21 @@ INT2NUM() :: for arbitrary sized integers.
INT2NUM() converts an integer into a Bignum if it is out of the FIXNUM
range, but is a bit slower.
To convert C boolean to Ruby +true+ or +false+ :
RBOOL() ::
<code>RBOOL(v)</code> returns +Qtrue+ if _v_ is not 0, or +Qfalse+
otherwisze _v_ is 0.
Notice: RBOOL is defined since Ruby 3.1, if you want to use it in a
program which supports older versions, the fallback definition will be
needed, like as the following.
#ifndef RBOOL
#define RBOOL(v) ((v) ? Qtrue : Qfalse)
#endif
=== Manipulating Ruby Data
As I already mentioned, it is not recommended to modify an object's