我最近尝试修复SciRuby的一些错误,发现在extconf.rb中它试图检测Ruby版本并执行不同的工作,如下所示:
if RUBY_VERSION >= '2.0'
hfiles.puts "#define RUBY_2 1"
end
if RUBY_VERSION < '1.9.3'
hfiles.puts "#define OLD_RB_SCAN_ARGS"
end事实上,有没有更好的方法来实现这一点呢?我发现这个很弱,而且不是很友好。
发布于 2014-02-01 12:21:31
我不确定为什么它是“弱的”,这一点很清楚,尽管更常见的方法是使用尾随条件句……
hfiles.puts "#define RUBY_2 1" if RUBY_VERSION >= '2.0'
hfiles.puts "#define OLD_RB_SCAN_ARGS" if RUBY_VERSION < '1.9.3'它的工作原理是一样的,但更紧凑。
https://stackoverflow.com/questions/21493832
复制相似问题