手机
当前位置:查字典教程网 >脚本专栏 >ruby专题 >ruby 学习笔记(1) 初识语法
ruby 学习笔记(1) 初识语法
摘要:单从技术而言,ruby本身确实很爽,令程序员的工作变得轻松有趣!下面的代码演示了如何找出100以内的素数:复制代码代码如下:usingSys...

单从技术而言,ruby本身确实很爽,令程序员的工作变得轻松有趣!

下面的代码演示了如何找出100以内的素数:

复制代码 代码如下:

using System;

namespace Mersenne

{

class Program

{

static void Main(string[] args)

{

for (int i = 2; i < 50; i++)

{

if (CheckDigital(i))

{

Console.WriteLine("{0} ",i);

}

}

Console.ReadLine();

}

static bool CheckDigital(int i)

{

if (i <= 1) { return false; }

if (i == 2) { return true; }

bool _result = true;

for (int j = 2; j < i; j++)

{

if (i % j == 0)

{

_result = false;

break;

}

}

return _result;

}

}

}

参照这个思路,翻译成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<<num if is_prime? num}

end

#定义方法 判断是否为素数

def is_prime?(number)

j=0

while $arr[j] * $arr[j] <=number

return false if number % $arr[j] ==0

j +=1

end

return true

end

add_prime(50); #调用

puts $arr.join(',') #输出结果

作者:菩提树下的杨过

【ruby 学习笔记(1) 初识语法】相关文章:

Ruby中的String对象学习笔记

ruby 模块

Ruby语法笔记

Ruby中的变量学习总结

ruby 单态方法 分析

Ruby学习笔记一

ruby声明式语法的实现例子

Ruby初学笔记之Hello World

Ruby中相等性判断的4种方法

Ruby On Rails上手笔记(安装使用全过程)

精品推荐
分类导航