My Labs! Ruby

Work is Worth Doing of Worth Doing Well

介绍

这个文档呈现了一些可用的资源来帮助初学者使用 Ruby 解决他们的问题、提升他们的知识,并且在 Ruby 社区分享。

这定位于两个位置:Wiki(它已经被开发)与 Ruby Documentation Bundle(这是预期的位置)。因为读者可能只看到其中一个而不了解其他的,所以同时简要地在这里进行说明。

  • Wiki 是一种 Ruby 社区资源。这个文档在 Wiki 中存在。
  • Ruby Documentation Bundle(以后就是简称为包)是一个包含若干有用的 Ruby 文档的包,表示易于访问,并且把这个文档包括成一个介绍。这些都可以在 http://www.ruby-doc.org 中找到。
结构

这个文档有两个部分。

一些 Ruby 要点
描述初学者应该熟悉并且使用该语言的好功能的若干资源。
参与 Ruby Community
描述对于所有 Rubyists 都可用的 Internet 资源,以及大部分这些任务的指南。

它们稍微有些内部依赖,并且它们之间有一些信息也被重复。但是同样都是早期的参考。这是因为随着资源与社区的成长,一直对它们进行定义是比较困难的,也不值得这样做。

排版约定

通俗的 Ruby 资源都是以任何表示(Ruby 对话、The Pickaxe 与包),无论它们是否被使用。并且所有资源(口语或者其他)都被设置成粗体,如果它们被定义的话。

反馈

这个文档已经变得比我预期的还要庞大。它由个人建议所组成,而不是官方的 Ruby 信息(或者类似的一切)。如果这是有用的,那就太好了。如果这可以被改进,我将非常乐意。任何情况下的 Email 反馈都是最受欢迎的。

一些 Ruby 要点

在你开始使用 Ruby 的时候,拥有一个良好的基础是重要的。我假设你已经成功地安装了 Ruby,但是有一些你应该安装的包以及一些你应该熟悉的的资源。下列部分提供了一些相关建议。

资源学习的要点

关于每个 Ruby 初学者开始的这个位置就是 The Pickaxe,[aka Programming Ruby:The Programatic Programmer's Guide]。这可以免费在线使用(在 http://www.rubycentral.com/book/ 中)并且同样被包括在这个包中。

在你已经适当地熟悉 Ruby 的时候,但是需要学习更多并且了解如何用它来实现所有任务,然后就是 The Ruby Way,由 Hal Fulton 所编著,也是下一个逻辑步骤。

FAQ(参考 Ruby 首页的链接)经常被提交在邮件列表中的问题的解决方案而被更新的,并且应该被商议与消化。

新的 Ruby 情节就是两个指南,并且关注于初学的程序员。而上面被提到的其他资源则假设了一些编程知识,因此如果该假设对你不适合,就应该首先对指南进行检验。

每个初学者(以及所有人)都应该安装这个包(Ruby Documentation Bundle)。虽然它没有包含什么原著,除了这个文档之外,但是它提供了对于 The Pickaxe、FAQ,以及一个指南和其他文档的简单访问。

特别用途的书籍

一些书籍开始高度被建议。参考完整的 Ruby 相关书籍列表,以及关于下面所简单提到的更多详细内容。

Teach Yourself Ruby in 21 Days 对于无经验的初学者来说是最流行的一种优秀指南。

Ruby in a Nutshell 是一种手册参考;没有其他的内容,当然也不会少任何内容。

Ruby Developer's Guide 包含了关于非核心问题的有用信息,比如数据库与 Web 编程。

重要工具:ri 与 irb

你的 Ruby 安装可能已经包括了 ri,但是你应该检查 RAA 来进行了解,如果一种最新版本可用的话。这是 Rubh 内建类的在线参考(比如 Array,File 和 Integer 等等)。通过指定一个类和(或者)一个方法,ri 就会为你提供与之相关的信息。该信息直接来自于 The Pickaxe。

irb 立足于 Interactive Ruby。它是一种能够让你体验 Ruby 特征并且进行实践的环境。在查找若干事物并且在把它们用于你的程序之前对技术进行测试的时候,它是特别有用的。例如,如果你不记得 to_i 应该怎样操作一个没有包含(唯一)数字的字符串,并且为什么你会在使用 irb 的时候对它进行查找的时候感到烦恼:

  irb(main):001:0> "abc".to_i
  0
  irb(main):002:0> "abc123".to_i
  0
  irb(main):007:0> "123abc".to_i
  123

irb 来自于 Ruby 标准,但是你还是应该检查 RAA 中的最新版本。

这经常发生在人们在 Ruby-talk 中提出上述其中一种易于回答的问题(我现在大概已经完成五次了。。。)的时候。每个 Ruby 程序员都需要知道如何使用这些工具。它们将帮助你的程序在第一时间正确地运行!

Web 站点
[Ruby Central]
Ruby Central 有好的链接部分并且通常包含一些有趣的素材。
[Ruby 首页]
少量的一切。与早期的 2003(不是编写的时间)一样,新站点已经大量改进了呈现以及其他资源链接。
[RAA]
Ruby Application Archive。在编写期间,已经有 766 个可用的包能够被下载。一些非常重要的包以下部分被列出。
[Ruby-talk Web 站点]
在这里你可以浏览并且搜索 Ruby-talk 档案。这些档案都包含了可以对你产生帮助的大量信息。
[Ruby-Doc 工程]
一些不同于 "Ruby Doc" 名称的工程现已存在。这个集合可以收集文档并且为 ri 与 The Pickaxe 提供 Web 查询接口。
重要的包

编程工作经常包括了需要做一些无法被原始语言所完成的事情(比如 XML、数据库,Web 等等)。如果你刚开始接触 Ruby,但是想实现一些特殊的任务,那么你可以在 RAA 中完成这些(或许这已经被捆绑在你的 Ruby 分配中)。

下列包已经在 Ruby Developer's Guide 中被检查:

  • 关于数据库编程:DBI。
  • 关于 XML 相关的任务:REXML。还有其他的,但是这是唯一可能完成你想做的,以漂亮的 Ruby 风格。
  • 关于 Web 服务与分布式 Ruby:XML-RPC,SOAP4R 和 DRb。
  • 关于 Web 编程:mod_ruby,eruby
  • 关于 GUI 编程:Ruby/GTK,FXRuby

常被使用的其他的成熟的包:

  • 关于单元测试:Test::Unit
  • 关于登入:Log4r
  • 关于 Windows 自动化:Win32OLE
  • 关于源代码的 API 文档生成:RDoc

每个初学者都至少应该了解这些包,因此在这些任务到来的时候,他们会了解到应该在哪里启用它们。

参与 Ruby Community

Ruby Community 通常被理解成完成下列一种或者更多事情的群体:

  • 参与 Ruby-talk 或者 IRC
  • 创建与/或者维护 Ruby Application Archive 中的包
  • 产生最初的和各式各样的稿件给 Ruby 提倡者(例如,http://www.rubyxml.org 或者 http://www.rubydoo.org)

下列部分详述了这些社区资源和其他内容,并且为它们的用途提供了指南。

邮件列表与新闻组

Ruby-talk 是一种邮件列表与新闻组的名称(ruby-talk@ruby-lang.org),感谢少量的 Ruby 代码,实际上都是相同的事情。就是说,邮件列表中的消息会出现在新闻组中,反之亦然。

更多信息可以在 comp.lang.ruby 的 FAQ(包括在包中)中被找到,但是在这里我将给出一些注释。

Ruby-talk 社区通常都是友好的通知,包括它对于可以在其他地方被简单回答的问题提出者的对待。但是,基本的网络礼节是在提交之前的调查。在 Ruby 中的这种情况下,这个调查应该由检查 ri 与 The Picaxe 的技术信息所组成。如果你的问题超越了理论,那么就要先询问你自己:它是否适合被提出。如果档案的简单调查没有找到任何东西,那么碰巧你的问题就是唯一的;如果找到了非完全相关的素材,那么你就应该至少拥有了一些在讨论之前的思路,并且适合于提供比你做其他事情而更加有意义的内容。

Ruby-talk 中的讨论有时候是非常普遍的,并且偶尔会偏离主题。这样也好,自从它注意到多数合格的提交者有广阔或者纵深的体验,以及好的通信技能以来,因此讨论经常是有趣的也是有用的。自从 Ruby 从多数语言那里包含好的特征以来,我们就经常需要学习的一到两种其他语言。

Ruby-talk 也有它自己的 Web 页面:http://www.ruby-talk.org。在这个页面中,你可以浏览(通过一个漂亮的 Web 界面)并且搜索档案,并且加入列表以获得它的帮助。这是一个神奇的 Web 页面,并且我建议 Ruby 的初学者用它(或者新的读者)来等待内容的提交,除非你有一个特殊的问题。正确地浏览最近的条目将告知你最近的宣告(软件,Web 页面,等等),重要的问题和常规 Ruby 思考,因此你可以增长对于 Ruby 使用者做了什么以及他们如何做的见识。

每周,一个被提交的[Ruby 每周新闻]会每隔一周就对 Ruby-talk 中的宣告以及有趣的思路进行摘要描述。

IRC

这里是聚集 Rubyists 的 IRC 频道。该频道经常被组装成许多种时间,因为 Rubyists 的时区实在是太多了。

IRC 服务器是:irc.openprojects.net。频道是:#ruby-lang

初学者应该得到一个 IRC 戳:这通常会获得一个快速回应,并且对话风格还允许反馈信息对于邮件列表的堵塞。

Wiki

Wiki 位于 http://www.rubygarden.org/ruby。简单来说,Wiki 就是一个可以被任何人进行编辑的 Web 页面集合,通过使用一种比 HTML 更简单的特殊标记语言。这是一种有趣的概念。我鼓励所有的 Rubyists 都来浏览这个 Wiki,并且舒适地作出改动。

在出现混乱之前,Wiki 包含了大量的信息,但是只有少许是被强制组织的。因此,这有时候像一个公告板,用户可以简单地提交他们的观点,并且有时候又像一个部分被排序的信息集合。这显然需要获得一些习惯,但是也是有价值的资源。

Wiki 最适合于创建小型文档,像这样,因为格式化是简单的,并且托管是被照顾的。至于另一种选择,可以编辑自己的 HTML 并且查找位置来托管它,不是所有的真实选项。这对于项目追踪来说同样是有用的,但是或许还有更好的方式来完成它。

RAA

Ruby Application Archive(RAA)是用户捐献代码的仓库(库与应用程序)。在编写的时候包含了 766 个项目,这个站点自然就是一个重要的社区资源。多数重要的库都在这里,许多仅仅是可用部分,而更多的是实验部分。如果你所找到的项目并不完善,那么就可以考虑把它作为一个捐献的好时机。

这是一个查找范例代码的集中地,如果你需要学习什么的话。

用户组

你可能会在你所在的地区看到 Ruby Users Group。这些组的一个庞大列表在 Wiki 的 RubyUserGroups 中被维护。并且有些组中只有一两个成员;如果是这样,就可以在任何地方接触它们并且添加你的名字。一旦形成临界规模,你就可以享受每月会议的乐趣,并且参与项目合作。

结论

如果你学习 Ruby 并且需要一些帮助,或者只想要吸收一些知识与体验,就可以在用户组,IRC 或者 Ruby-talk 中找到同伴 Rubyists,从而混合适合于你的偏好选择。

但是,在你这样做之前,至少要阅读 The Picaxe 并且浏览一些其他资源(初学者的指南,FAQ,指南:所有都被包括在这个包中)。它们都可以让你受益!如果你在开始的时候需要一个平装书籍的帮助,就可以在 The Picaxe 与 Teach Yourself Ruby in 21 Days 之间进行选择,不过这依赖于你的技能级别。

开始使用 ri 与 irb 是非常重要的。首先是参考,然后就是实践。真的非常重要。

这有可能帮助你在没有阅读 The Ruby Way 的情况之下增加高级的 Ruby 知识,但是你将庆幸你自己已经拥有它,特别是如果你需要知道如何使用 Ruby 来完成所有任务的话。关于更多特殊的任务,需要确保检验了 Ruby Developer's Guide。

参与社区(甚至是被动的)将推动你与你发现问题与被讨论的解决方案之前对于语言的精通,并且最后还被呈现在 RAA 中。参与活动,当你准备好的时候,将为你提供机会通过捐献来进行学习,从而最终促进 Ruby 的繁荣。

好运!

posted on 2007-04-01 18:54 Ruby 阅读(362) 评论(0)  编辑 收藏 引用 所属分类: 介绍