`
秦朝古月
  • 浏览: 229933 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

读《The Ruby Way》

    博客分类:
  • Ruby
阅读更多
从06年10月开始接触Ruby,眨眼间已经过了3年半了。虽然用了这么久,感觉真的不是很精通。虽然已经过了而立之年,但感觉自己还是太浮躁了。浪费了好多时光在游戏上。

买了好久的《The Ruby Way(第二版)》,只是当作工具书,没有仔细读过。终于决定好好的把这本书读一遍。今天看了第一章,确实有不少收益。

Class是一个对象,而Object是一个类。作者把这句话强调了好多次。
class Myclass
  @x = 1          # 类实例变量,类对象MyClass的属性,MyClass本身就是个实例

  def mymethod    # 实例方法是无法访问类实例变量的
    puts @x       # 实例变量
  end
  
  def self.mymethod
    puts @x
  end
end

c = Myclass.new
c.mymethod         # 由于实例变量没有被赋值,所以结果是nil

Myclass.mymethod   # 类方法可以访问类实例变量,结果是1


单例类(继承单个实例的匿名类)。终于搞懂了原来这样生成的是单例类。
str = "hello"
class << str
  def hyphenated
    self.split("").join("-")
  end
end

str.hyphenated      # "h-e-l-l-o"


Proc对象。从来没有这么写过。
def power(e)
  proc {|base| base**e}
end
square = power(2)
cube = power(3)

a = square.call(11)    # 结果是 121
b = square.call(5)     # 结果是 25
c = cube.call(6)       # 结果是 216
d = square.call(11)    # 结果是 512


分享到:
评论

相关推荐

    The ruby way

    `: 判断文件是否可读。 - `FileTest.writable?`: 判断文件是否可写。 - **实例**:`if FileTest.exist?("example.txt") && FileTest.readable?("example.txt") ...` ##### 5. Kernel 模块 - **简介**:`Kernel` ...

    ruby中英文api

    "The Ruby Way.chm"则可能是《The Ruby Way》一书的电子版,这是一本深入介绍Ruby编程实践的书籍,它不仅讲解了Ruby的基本语法,还分享了编写高效、简洁Ruby代码的技巧。书中可能包含了大量的示例代码和实践案例,...

    The Way TO GO.zip

    本压缩包中的《The Way TO GO.pdf》详细介绍了Go语言的核心概念和技术。以下是该书可能涉及的关键知识点: 1. **基本语法**:Go语言的语法简洁明了,易于学习。包括变量声明、数据类型(如整型、浮点型、字符串、...

    pythonchallenge level2官方方法集

    一种易读的Ruby解决方案,类似于最初的Python解决方案,强调了代码可读性和一致性的重要性。 #### 38. Permutations: Yet Another Turn 排列组合:又一次尝试,这可能是指在解决问题时采用了一种新的组合方式,...

Global site tag (gtag.js) - Google Analytics