今日任务
今日总结
- ruby 单引号与双引号字符串的重大区别
- 单引号字符串无法进行插值操作
hello = 'Hello,'
puts "#{hello} World! "
puts '#{hello} World! ' #单引号不能进行插值运算
- 单引号可以不用转义
'\n' == "\\n"
'I(\t)like world \n' == "I(\\t)like world (\\n)"
- 字符串操作
a = [1,2,3]
a << "next" << "end" =>[1,2,3,"next","end"]
a.join => 123nextend
a.join(',') => 1,2,3,next.end
- Hash
- Hash是无序的,数组是有序的。
- Hash一般使用符号作为键
- Hash可以嵌套
user = { :firstname=>"zheng", :lastname=>"yao" }
params = {} => 嵌套
params[:name] = {:firstname=>"zheng", :lastname=>"yao" }
params[:address] = {:email => "xxx@example.com",:home=>"hang"}
- Hash遍历
user = { :firstname=>"zheng", :lastname=>"yao" }
user.each do |key,value|
puts "#{key.inspect} => #{value.inspect}"
end
# `p :name` == `puts :name.inspect`
- 类
-
mycontroller的继承关系
- 打开类
class String
def to_alphanumeric
gusb(/[^\w\s]/, ' ') #去掉特殊字符
end
#将to_alphanumeric方法加入到了String类中
- 类本身也是对象
"hello".class #=>String
String.class #=>class
Array.superclass #=>Object
Object.superclass #=>BasicObject
BasicObject.superclass #=>nil
- 类与模块
Class.superclass #=>Module
Class的超类是Module,即每个类都是一个模块。
类就是带有三个方法(new,allocate,superclass)的增强模块。 - 类与对象
对象:对象就是一组实例变量外加一个指向其类的引用。
对象的方法并不存在于对象本身,而是存在于对
象的类中。在类中,这些方法被称为实例方法。
类:类就是一个对象(Class类的实例)外加一组实例方
法和一个对其超类的引用。类也是模块。
- sass
- 嵌套
.center{ color: red ; }
.center h1 { color: blue; }
Sass可将其改写成
.center{
color: red;
h1{ color: blue ; }
}
ID #logo出现了两次,一次单独出现,一次和伪类一起
logo { float: left;}
#logo:hover { color: #fff; }
Sass可将其改写成
#logo { float: left;
&:hover { color: #fff; }
}
- 定义变量
$light-gray: #777; /*灰白色*/
h1{ color: $light-gray }
-
aseert_select 使用