字符串

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 => "[email protected]" }

等同于

{ name: "Nelson", email: "[email protected]" }

分析代码:

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模式,故不能简写。