看了看教程上面这个例子,练习了下,感觉确实在语法上面和java差别挺大的。
$arr = []
$arr[0] = 2
def add_prime( n )
3.step( n, 2 ) { |num| $arr << num if is_prime? num }
end
def is_prime?( num )
j = 0;
c = 1
while $arr[j] * $arr[j] <=num
return false if num%$arr[j] == 0
j += 1
end
return true
end
add_prime( 8 )
print $arr.join(", "),"\n";
上面的例子能运行,但是我对上面的例子探究了下,发现了我暂时还解决不了的问题,呵呵,我菜鸟刚学习在,看下面代码
$arr = []
$arr[0] = 2
def add_prime( n )
3.step( n, 2 ) { |num| $arr << num if is_prime? num }
end
def is_prime?( num )
j = 0;
c = 1
while $arr[j] <=num #这里改动了,之后就报错了。这样写逻辑上面不应该有错的,,,,
return false if num%$arr[j] == 0
j += 1
end
return true
end
add_prime( 8 )
print $arr.join(", "),"\n";
呃,,,,下次解决这个问题,再来补充,,,,