![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ruby
redvoilin
这个作者很懒,什么都没留下…
展开
-
用ruby找出1到N之间的质数
a = Array.newdef find(n,a) (2..n).each{|n| x = 0 (2...n).each{|i| if n%i == 0 x = 1 break end } if x == 0 a << n end }endfind(10原创 2012-05-27 17:40:34 · 453 阅读 · 0 评论 -
ruby中的流程控制
1、 if语句else if 简写成elsifif sum > 1000 puts "big"elsif sum >500 puts "medium"else puts "small"end2、三元运算x = 5puts x > 3 ? "bigger":"smaller"3、case语句name = "kaka"case nam原创 2012-06-04 09:47:57 · 469 阅读 · 0 评论 -
ruby中method后面?和!的含义
ruby的method后面可以以?或者!结尾,?结尾的method表示返回的是boolean值,!表示将要改变引用它的对象本身,例如:ary = [2,3,1]ary.empty? # => falseary.sort # => [1,2,3]p ary # => [2,3,1]ary.sort! # => [1,2,3]p ary # => [1,2,3]原创 2012-06-04 10:15:28 · 760 阅读 · 0 评论 -
关于symbol
相同内容的字符串,也是不同的对象,但相同名字的symbol不会,是同一个对象,例如"hello".object_id"hello".object_id:hello.object_id:hello.object_id前两行分别返回不同的数值,后面两行返回的内容相同原创 2012-06-04 09:11:49 · 284 阅读 · 0 评论 -
关于ruby class的一些概念
1、类的实例变量以@开头,类变量以@@开头,都是封装在类内部,无法直接访问class Test def initialize(name) @name = name endendt = Test.newt.name # => 无法直接访问为了可以读取、修改@name,可以自己写方法class Test def initialize(na原创 2012-06-04 17:00:35 · 3338 阅读 · 0 评论 -
ruby的迭代器
1、数组的迭代器ary = [1,2,3,4,5,6,7]ary.each{|x| puts x}或者可以用each do end的写法ary = [1,2,3,4,5,6,7]ary.each do |x| puts xend也可以用each_with_index来获取每次访问数组的indexary = [1,2,3,4,5,6,7]原创 2012-06-04 17:31:24 · 692 阅读 · 0 评论