【发布时间】:2012-07-28 21:39:52
【问题描述】:
我正在尝试找到一种方法来测试 Ruby C API 中的符号相等性。考虑以下 C 函数:
static VALUE test_symbol_equality(VALUE self, VALUE symbol) {
if (rb_intern("test") == symbol) {
return Qtrue;
} else {
return Qfalse;
}
}
从 Ruby 的角度来看,这个方法的行为并不像预期的那样:
test_symbol_equality(:test) # => false
为什么会这样?我需要如何更改代码以实现预期的行为?
【问题讨论】:
标签: c ruby ruby-c-extension