什么是C / C ++中#define A B的ruby等价物?

时间:2016-11-05 15:30:12

标签: ruby

是否有任何Ruby等价的C / C ++宏?

#define something somethingelse

2 个答案:

答案 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 ++样式宏一样有效的方法。

相关问题