是否有任何Ruby等价的C / C ++宏?
#define something somethingelse
答案 0 :(得分:3)
Ruby项目通常既没有预处理也没有编译步骤,并且任何预处理器的使用都不常见。
您可以define constants使用大写变量名称。
但是,如果你真的需要一个预处理器,那么你可以将CPP与ruby或任何其他语言一起使用 - 它并不真正关心实际的语法。
答案 1 :(得分:0)
没有直接的等价物,但你可以做到。例如,
#DEFINE PI 3.14159
C / C ++预处理器中的可以是
PI=3.14159
红宝石中的大写变量是ruby中的常量。
另一种类型的宏,例如
#DEFINE ADD(A, B) A + B
是
def add(a, b)
a + b
end
红宝石中的当涉及到函数宏时,确实有理由在ruby中使用C / C ++样式宏,因为您可以轻松地在ruby中定义与C / C ++样式宏一样有效的方法。