ruby学习笔记(1)--初识语法
时间:2022-04-23
本文章向大家介绍ruby学习笔记(1)--初识语法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
虽然ruby/ruby on rails从2007年就一直获奖无数,但身为一个中国人,一直对小日本创造的东西不怎么感兴趣,想想其实也没必要,技术本身是无国界的,日本其实也有值得学习的地方(扯远了,呵) 单从技术而言,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(',') #输出结果
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- RedLock究竟是不是Redis分布式锁分布式环境下的银弹?
- PAT (Basic Level) Practice (中文)1023 组个最小数
- PAT (Basic Level) Practice (中文)1041 考试座位号
- PAT (Basic Level) Practice (中文)1042 字符统计
- 搭建 Apache Jmeter 分布式压测与监控,真那么难搞定?|实战干货
- PAT (Basic Level) Practice (中文)1056 组合数的和
- PAT (Basic Level) Practice (中文)1057 数零壹
- PAT (Basic Level) Practice (中文)1063 计算谱半径
- PAT (Basic Level) Practice (中文)1064 朋友数
- PAT (Basic Level) Practice (中文)1076 Wifi密码
- PAT (Basic Level) Practice (中文)1077 互评成绩计算
- PAT (Basic Level) Practice (中文)1081 检查密码
- PAT (Basic Level) Practice (中文)1082 射击比赛
- PAT (Basic Level) Practice (中文)1083 是否存在相等的差
- 2017年天梯赛全国总决赛题集 L2-1 点赞狂魔