首页 > IT职业 > IT职场 > ruby基础语法学习笔记
虽然ruby/ruby on rails从2007年就一直获奖无数,但身为一个中国人,一直对小日本创造的东西不怎么感兴趣,想想其实也没必要,技术本身是无国界的,日本其实也有值得学习的地方(扯远了,呵)
单从技术而言,ruby本身确实很爽,令程序员的工作变得轻松有趣!
下面的代码演示了如何找出100以内的素数:
using System;
namespace Mersenne
{
class Program
{
static void Main(string[] args)
{
for (int i = 2; i 参照这个思路,翻译成ruby版:
for i in 2..100
flag = true;
for j in 2...i
if i % j==0
flag = false;
break;
end
end
if flag
print i,"n"
end
end
利用ruby语法的灵活性,可以精简成以下代码:
for i in 2..100
flag = true;
(2...i).each{|n| flag=false if i % n ==0}
print i,"n" if flag
end也可以写成这样
def checkNum?(num)
return true if num==2
f = true;
for j in 2...num
if num % j==0
f = false;
break
end
end
return f
end
(2..50).each{|x| print x,"n" if checkNum?(x)}
另外一种实现:
$arr=[] #定义一个全局数组,用来保存计算结果
$arr[0] = 2
#定义方法,将n以内的奇素数加入$arr (素数同时肯定奇数,2除外)
def add_prime(n)
3.step(n,2){|num| $arr
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2281/viewspace-2808461/ ,如需转载,请注明出处,否则将追究法律责任。