msn email google-talk twitter tumblr flickr

Ruby学习笔记:杂七杂八

Symbol 可以把符号看成一种简化的字符串
最简单的方式是将符号看作基本上不能进行任何操作的字符串
在代码里使用符号表明只想用它代表其他某样东西 比如想让ruby创建的方法的名字

输错局部变量会立即导致出错
由于未赋值的实例变量会返回nil 输错实例变量导致问题难以捉摸

类方法 class method
不需要任何实例就可以调用的方法 直接属于某个类
实例无法使用类方法
类方法实际上是Class类的实例的实例方法所以要注意类方法和实例方法里的self

实例方法 instance method

Ruby中所有的实例变量 类变量都设置成private访问类型
无法变成public访问类型 如果需要在外部访问实例变量 类变量 需要为它们定义访问方法(最常用的就是将它们包装成属性)

关于private和protected
相同点:都只能在本类或子类中被调用
不通点:private不能被显式的调用(即不能被.点出来) protected能被显式的调用

   1      class Test  
   2        def initialize
   3          pt
   4          pv
   5          self.pt
   6          self.pv #==>throw error
   7        end
   8      protected
   9        def pt
  10          puts "pt!"
  11        end
  12      private
  13        def pv
  14          puts "pv!"
  15        end
  16      end

通过Symbol的方式定义

   1      protected :pt 
   2      private :pv,:pv2