在Enums(https://github.com/ffi/ffi/wiki/Enums)的ffi文档中,它提到了在创建ffi时,例如:
# Example using enums
module Week
extend FFI::Library
ffi_lib "week"
enum :day, [:sunday, 1,
:monday,
:tuesday,
:wednesday,
:thursday,
:friday,
:saturday ]
attach_function :is_work_day, [ :day ], :int
end
# How you would call the function:
Week.is_work_day( :monday )
# This is also allowed, in case you need to use integers:
Week.is_work_day( 2 )
问题是:当您发送'2'时,会查看:day枚举并查找第二个条目的值,还是将实际的'2'值发送给您的函数?
答案 0 :(得分:0)
两次调用都会将整数2
发送给函数。第一个调用会将符号:monday
解析为2
,第二个调用不需要,因为已经给出了2。