- ``
?
'' and ``!
'' are the only weird characters allowed as method name suffixes. - everything is an expression
- 多行注释可以用=begin 和 =end
- Ruby中用分号“ ; ”来表示一个语句的结束。一行如果有多个语句,每个语句用分号隔开,而最后一个语句可以省略分号。换行符表示一行结束。如果语句太长,可以用“ \ ”连接下一行
- 检查类型:defined?
- 异常处理:rescue ,ensure
- 文件相关:__FILE__ , __LINE__
- 别名: alias
- Ruby使用一个约定来帮助它区别一个名字的用法:名字前面的第一个字符表明这个名字的用法。局部变量、方法参数和方法名称应该用一个小写字母开头或者用一个下划线开头;全局变量用美元符作为前缀 $;而实例变量用 @ 开头;类变量用 @@ 开头;类名、模块名和常量应该用大写字母开头。
- Ruby语言,只有重写(override),没有其它语言具有的严格意义上的重载(overload)
- include 方法为一个类的所有对象包含某个模块; extend 方法为一个类的某个对象包含某个模块。
- require包含文件,只加载一次,遇到同一文件时自动忽略;不同路径下的同名文件会多次加载。 load包含文件,加载多次,即使是相同路径下同一文件。
- require,load用于包含文件;include,extend则用于包含模块。
require加载文件一次,load加载文件多次。
require加载文件时可以不加后缀名,load加载文件时必须加后缀名。
require一般情况下用于加载库文件,而load用于加载配置文件。 - 利用load 多次加载文件的特性,可以用来实现程序的无缝升级和系统的热部署。程序功能改变了,你只需要重新load 一次,其它代码与它再次交互的时候,这个程序实际上已经不是原来的程序了。