更具体地说,我想在ruby中找到创建"静态"的方法。像C ++中的变种。每个函数调用只定义一次这些变量。即使函数是递归的。
现在我使用全局变量,但它并不好,导致代码混乱。 Bellow I用C ++和Ruby粘贴代码。
def my_function
my_var = 0
if my_var < 10
my_var += 1
my_function
else
puts my_var
end
end
在Ruby中,我们有无限循环,因为my_var永远不会是10
#include <iostream>
using namespace std;
void my_method(){
static int my_var = 0;
if(my_var < 10){
my_var += 1;
return my_method();
} else{
cout << my_var;
}
int main(){
my_method();
}
在C ++程序中将打印10。
那么伙计们,你知道Ruby中是否存在这样的东西吗?而且我不想使用全球变量。我真的不喜欢他们。
问候并感谢 西蒙