我是
Ruby的新手,但是当我搜索
Ruby的文档时,我发现了一些C源代码,它也包含在文档中.在几乎所有这些引用中,我发现了VALUE,我非常确定它是一个结构.但是这个VALUE结构的属性是什么?这实际上是做什么的?
解决方法
您可以在头文件
ruby/ruby.h
中看到VALUE的定义:
#if defined HAVE_UINTPTR_T && 0 typedef uintptr_t VALUE; ... #elif SIZEOF_LONG == SIZEOF_VOIDP typedef unsigned long VALUE; ... #else # error #endif
所以value只是指向对象的指针.如Priti链接中所述,同一文件中有一个TYPE()宏,可用于标识VALUE指向的数据类型.