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

This commit is contained in:
Nobuyoshi Nakada 2021-12-13 13:05:40 +09:00
Родитель 54f0e63a8c
Коммит 9ad34da47f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
2 изменённых файлов: 30 добавлений и 0 удалений

Просмотреть файл

@ -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の構造体をアクセスする時に内容の更新を

Просмотреть файл

@ -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