字符串
first_name = "Michael"
last_name = "Hart"
name = first_name + " " + last_name
name = "#{first_name} #{last_name}"
name => "Michael Hart"
两种都OK
打印
puts换行
print不换行
p 字面量表现形式,.inspect
单引号和双引号
双引号支持插值操作
单引号不进行转义翻译,不支持插值
split 将字符串拆分成数组,默认空格分割,接受参数分割,参数为'',逐字分割
"name".split => "name"
"name".split('') => ["n", "a", "m", "e"]
to_a (0..9).to_a =>[0,1,2,3,4,5,6,7,8,9]
“fooxbarxlan".spilt(x) => ["foo", "bar", "lan"]
数组函数举例
length empty? include?() sort reverse shuffle(按照随机顺序排列) join(将array转化成string)
添加元素:push << =>加到数组尾部
块
map 每个元素执行块中的代码,返回值组成数组,第二种为简写
%w[A B C].map { |char| char.downcase }["a", "b", "c"]%w[A B C].map(&:downcase)
["a", "b", "c"]看代码
('a'..'z').to_a.shuffle[0..7].join
('a'..'z')为值域
哈希 (symble以字母开头,没有连字符)
只有哈希中采用到name:这种形式,:name为symble
{ :name => "Nelson", :email => "jak@163.com" }
等同于
{ name: "Nelson", email: "jak@163.com" }
分析代码:
stylesheet_link_tag 'application', media: 'all',
'data-turbolinks-track' => true正常应为
stylesheet_link_tag ('application', {media: 'all',
'data-turbolinks-track' => true})1/函数调用,可以省略括号
2/调用函数时,如果最后一个参数是哈希,可以省略花括号
3/date-turbolinks-track 有-号,不能使用:symble模式,故不能简写。