在我进入Rails之前要学习的重要Ruby概念?

时间:2009-12-01 13:29:03

标签: ruby-on-rails ruby

免责声明 - Ruby是我学过的第一种语言。我没有任何CS背景。

我已经完成了Chris Pine的“学习编程”,这本书很愉快,我现在很了解基础知识。下一本推荐的书是“Programming Ruby 1.9”(下一个PickAxe)。从我读过的内容来看,它只是一本庞大的参考书,但它只有960页,让我感到害怕。

在您看来,我应该学习的下一个“必须知道”的概念是什么?

提前致谢。

8 个答案:

答案 0 :(得分:4)

阻止和一些元编程。

答案 1 :(得分:3)

一个很好的起点(对我而言......)是Ruby on Rails上的Ryan Bates截屏视频: http://railscasts.com/ (从最低的数字开始......)

答案 2 :(得分:3)

我查看了你读过的教程。缺少一个非常重要的概念:符号。您可以在"ruby learning"中找到相关信息。它们在rails中用作选项名称。

当我尝试阅读rails示例时,困惑我的另一个概念是,当哈希是函数的最后一个参数时,可以省略花括号。所以:

def foo( 1, "blah", "a" => "b", "c" => "d" )

应为:

def foo( 1, "blah", { "a" => "b", "c" => "d" } )

函数foo只有三个参数。

答案 3 :(得分:1)

看看Humble Little Ruby Book(免费),以便更熟悉其他几个概念。

另一本书将是Ruby for Rails

答案 4 :(得分:1)

你实际上并不需要知道任何关于Ruby的东西,以便能够组建一个Rails站点。我开始只是一起攻击我的网站,注意到很好的语言结构,看到他们在我使用的插件和宝石的源代码中做了什么。

在Rails中快速构建内容的满足将让你继续前进。

在Rails约定方面有足够的知识来学习如何让你的思想保持忙碌并且在Ruby中取得进步并不是一段时间的优先事项。

浏览Rails指南http://guides.rubyonrails.org/以开始构建功能。

答案 5 :(得分:1)

  1. 阻止相关内容(块,Proc,lambda)
  2. 模块
  3. method_missing的

答案 6 :(得分:1)

对我来说最重要的是自我意味着在类定义的不同点,以及实例变量与类变量与单例变量的概念。

class Foo
  @variable # is an instance variable on the class object, not on instances derived from this class
  def bar
    @variable2 # is on instances derived from this class
  end

  def self.baz # this is a class level method, similar to static methods in something like java
    @variable3 # gets defined on the class object again
  end
end

f = Foo.new

def f.wtf #this method gets defined only on this single instance of Foo
  @variable4 #this variable will only be for the f instance
end

在我擅长红宝石之前,这种事情一直让我陷入困境中,但是我想到了类对象,对象个性化以及self在任何给定位置指向的东西的意思我最难学的东西。

答案 7 :(得分:0)

我读过有关编程语言的最有趣的事情是_why的Ruby指南。

这很有趣,很有艺术气息,写得很好。另外,在“使用Rails进行敏捷开发”附录中有一个Ruby介绍。这似乎只有适量的编程介绍才能开始。

http://en.wikipedia.org/wiki/Why%27s_%28poignant%29_Guide_to_Ruby

http://mislav.uniqpath.com/poignant-guide/