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

* README.EXT, README.EXT.ja (2.2.2), parse.y (rb_check_id): add

documents for rb_check_id().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2011-09-12 04:38:15 +00:00
parent 821ae88259
commit 4705fcc3c0
4 changed files with 32 additions and 0 deletions

View file

@ -1,3 +1,8 @@
Mon Sep 12 13:38:12 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
* README.EXT, README.EXT.ja (2.2.2), parse.y (rb_check_id): add
documents for rb_check_id().
Mon Sep 12 12:53:39 2011 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/rake/file_list.rb (Rake::FileList#egrep): there is no need to

View file

@ -442,11 +442,19 @@ or
You can get the ID value from a string within C code by using
rb_intern(const char *name)
rb_intern_str(VALUE name)
You can retrieve ID from Ruby object (Symbol or String) given as an
argument by using
rb_to_id(VALUE symbol)
rb_check_id(volatile VALUE *name)
These functions try to convert the argument to a String if it was not
a Symbol nor a String. The latter function stores the converted
result into *name, and returns 0 if the string is not a known symbol.
After this function returned a non-zero value, *name is always a
Symbol or a String, otherwise it is a String if the result is 0.
You can convert C ID to Ruby Symbol by using

View file

@ -489,11 +489,19 @@ IDとは変数名メソッド名を表す整数ですRubyの中では
でアクセスできますCからこの整数を得るためには関数
rb_intern(const char *name)
rb_intern_str(VALUE name)
を使いますRubyから引数として与えられたシンボル(または文字
列)をIDに変換するには以下の関数を使います
rb_to_id(VALUE symbol)
rb_check_id(volatile VALUE *name)
もし引数がシンボルでも文字列でもなければ、to_strメソッドで文
字列に変換しようとします.後者の関数はその変換結果を*nameに保
存し,その名前が既知のシンボルでない場合は0を返しますこの関
数が0以外を返した場合は*nameは常にシンボルか文字列であり、0を
返した場合は常に文字列です.
2.2.3 CからRubyのメソッドを呼び出す

11
parse.y
View file

@ -10112,6 +10112,17 @@ rb_is_junk_id(ID id)
return is_junk_id(id);
}
/**
* Returns ID for the given name if it is interned already, or 0.
*
* \param namep the pointer to the name object
* \return the ID for *namep
* \pre the object referred by \p namep must be a Symbol or
* a String, or possible to convert with to_str method.
* \post the object referred by \p namep is a Symbol or a
* String if non-zero value is returned, or is a String
* if 0 is returned.
*/
ID
rb_check_id(volatile VALUE *namep)
{