Ruby 学习笔记[1]有疑问
?
?上面代码中我有点不太明白,为什么在return false后面没有换行?换行后,下面在加一个end,结果就不一样了,结果为(2,3)。。。请大家赐教
?
把end再换一个位置,结果就成(2)
主要是不理解,为什么return false 后面为什么if没有换行?
所以你上面的代码如果要改,可以改成这样:
Java代码
# E3.12-1.rb 求50以内的素数
$arr=[ ] #建立一个全局数组 $arr
$arr[0]=2
def add_prime(n) #定义方法 将 n以内的奇素数加入$arr
3.step(n,2){|num|$arr <<num if is_prime?num }
end
def is_prime?(number) #定义方法 判断一个数是否是素数
j=0 #数组下标
while $arr[j] * $arr[j] <=number
if number % $arr[j] ==0
return false
end
j +=1
end
return true
end
add_prime(50)
print $arr.join(", "),"\n" #转换成字符串输出 # E3.12-1.rb 求50以内的素数
$arr=[ ] #建立一个全局数组 $arr
$arr[0]=2
def add_prime(n) #定义方法 将 n以内的奇素数加入$arr
3.step(n,2){|num|$arr <<num if is_prime?num }
end
def is_prime?(number) #定义方法 判断一个数是否是素数
j=0 #数组下标
while $arr[j] * $arr[j] <=number
if number % $arr[j] ==0
return false
end
j +=1
end
return true
end
add_prime(50)
print $arr.join(", "),"\n" #转换成字符串输出
谢谢大虾昂!懂什么意思了。嘿嘿!!!解释的简单明了!