ruby的类
class User
def initialize(name)
@name = name
end
def hi(target)
p "Hi #{target}, i am #{@name}"
end
end
u1 = User.new 'frank'
u1.hi 'jack'
//"Hi jack, i am frank"
- 定义一个构造函数使用
defined,可以缩写def initialize是一个构造方法,用来接收参数this.用@来表示- 结束时,用
end表示 - 打印
puts,也可以用p表示,打印内容要"",可以插入变量 - 对象实例化,用
User.new,替代new User();User.new 'frank'后面要带参数
ruby的数组
even_numbers = [ ]
[1,2,3,4,5,6].select do |n|
if n.even?
even_numbers << n
end
end
p even_numbers
//[2, 4, 6]
- 第一次赋值就是声明数组
- js中用
filter,后面接函数,ruby中用select,后面接代码块do表示 - |n|表示[1,2,3,4,5,6]中选中的
- 判断偶数js中
if n%2==0,ruby中if n.even? 数字有even的api,?是个方法。 even?是函数名
下面缩减
[1,2,3,4,5,6].select { |n| n.even? }
[1,2,3,4,5,6].select(&:even?)
//&:表示当前的
[1,2,3,4,5,6].select!(&:even?)
//!提示会改变当前数组数据
(1..6).to_a.select(&:even?)
//to_a不创建新数组,此数组选择
(1..6).select(&:even?)