笔记:Ruby系统管理实战

1.2.2 Ruby的OO观点

Ruby中所有的“函数”实际上都是类中定义的方法。

puts是Kernel模块的一个方法。

问题在于,Ruby怎么知道我们引用的是属于Kernel模块的puts方法,而不是其他模块。

Ruby有一套漂亮的方法解析机制。通过该机制,puts在语义上与 self.puts 相同。如果当前对象的 self.puts 方法不存在,那就使用 Kernel.puts.self 这一OO惯例…

注解:大概就这部分比较迷。方法查找 其实应该是: 方法查找、普通变量查找、常量查找 —— 涉及到require、闭包、嵌套才完整

1.2.5 包罗万象:关于类型的理性认识

Ruby谨记对象和代码交互的唯一途径是通过方法。

每样东西都是对象,定义类型的全部意义在于,他让你得知所操作的变量具有什么行为和属性。 Ruby严格遵守了封装原则。

3.2 性能分析

3.2.1 UNIX的time命令

$ time ruby -e '1000.times {1+2}'
real 0m0.283s
user 0m0.15s
sys  0m0.046s

总共 real 0.283s运行大概 1/3秒时间, 用户操作user用了0.15s,操作系统用了 0.46s。 real-(user+sys)值是进程挂起的等待时间。

  • benchmark 性能分析的性能基准库。

  • profile 性能分析。这个以前在标准库,现在独立成 gem gem install profile 安装

Mark24

Everything can Mix.