我主要是一个流利的.NET开发人员(从我对.NET发布的帖子和帖子的数量可以看出),但我认为学习RoR会很好。
在这样做时,我对语言架构(Ruby)和框架(RoR)有几个问题:
1)在.NET中,每个对象都是从System派生的,但是继承了System.Object。因此,当我键入System。时,我会获得一个名称空间列表,然后是那些名称空间,类和更多名称空间。
Ruby没有这种层次结构吗?
2)在某些情况下,我没有获得智能感知。例如,我按照此处所述(http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionMailer)编写了类,但在行收件人user.email中,当我键入“user”时,没有任何内容出现。
知道为什么吗?
感谢
答案 0 :(得分:4)
Dave Thomas(实用程序员)在Ruby对象模型/元编程方面有一个很好的screencast series。我们在本地Ruby用户组中观看了这个。该系列不是免费的,但它也不贵。您可能需要查看免费预览,看看您是否认为值得花时间。
并给你一个答案。是的,Ruby中的所有内容都来自Object。您可以在http://corelib.rubyonrails.org/找到相关文档。寻找Object类。
我不确定你为什么没有获得intellisense,部分原因是你没有指定你的IDE。有可能你不能,因为你已经动态添加了方法,并且没有智能感知。
答案 1 :(得分:0)
答案 2 :(得分:0)
Ruby是一种纯粹的OO语言,这意味着从类到对象的所有内容都来自Object类。
答案 3 :(得分:0)
下载NetBeans。对Ruby和Ruby on Rails有完整的intellisense支持。
答案 4 :(得分:0)
智能感知支持可能不会让你得到你认为会得到你的东西。因为Ruby是一种动态语言,所以Intellisense或代码完成很困难。你会发现,下拉的可能完全被淹没而无用。或者在你的情况下什么都没有。
这不是100%没用,但我从来没有发现它非常有价值。