﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-JavaCode--我爱你,芳儿-随笔分类-Ruby Study</title><link>http://www.blogjava.net/yjjlovewjf/category/28024.html</link><description>JavaStudy--我爱你,芳儿</description><language>zh-cn</language><lastBuildDate>Fri, 14 Dec 2007 09:26:01 GMT</lastBuildDate><pubDate>Fri, 14 Dec 2007 09:26:01 GMT</pubDate><ttl>60</ttl><item><title>Ruby on Rails (ROR)类书籍下载地址及其他（整理） </title><link>http://www.blogjava.net/yjjlovewjf/archive/2007/12/14/167781.html</link><dc:creator>wǒ愛伱--咾婆 </dc:creator><author>wǒ愛伱--咾婆 </author><pubDate>Fri, 14 Dec 2007 07:07:00 GMT</pubDate><guid>http://www.blogjava.net/yjjlovewjf/archive/2007/12/14/167781.html</guid><wfw:comment>http://www.blogjava.net/yjjlovewjf/comments/167781.html</wfw:comment><comments>http://www.blogjava.net/yjjlovewjf/archive/2007/12/14/167781.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjjlovewjf/comments/commentRss/167781.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjjlovewjf/services/trackbacks/167781.html</trackback:ping><description><![CDATA[Ruby on Rails 如此之热，忍不住也去看了看热闹，现在把一些相关的电子图书下载地址整理下，方便有兴趣的朋友。<br />
<br />
2006-08-23<br />
<span style="background-color: yellow" akvli="0" tjovt="0">&nbsp;&nbsp; 增加一卡通版的Ruby学习教程和一些不错的介绍（视频，音频，PDF或者Html格式的幻灯片，鉴于个人的听力能力，我还是比较喜欢最后幻灯片）。</span><br />
<br />
<span style="font-family: arial,helvetica" akvli="1" tjovt="0"><a href="http://rubyforge.org/projects/poignant/"><strong akvli="0" tjovt="0">Why's (Poignant) Guide to Ruby</strong></a> - W(p)GtR is a cartoon book which teaches Ruby. This project houses the Ruby, YAML and Textile code that the book is written in.<br />
下载地址如下：<br />
</span><a href="http://rubyforge.org/frs/download.php/3845/why.s.poignant.guide.to.ruby-0.5.1-contrib.pdf" target="_blank" akvli="0" tjovt="0">http://rubyforge.org/frs/download.php/3845/why.s.poignant.guide.to.ruby-0.5.1-contrib.pdf</a><br />
<h2 class="title" id="post-154"><a href="http://www.juixe.com/techknow/index.php/2006/08/12/top-13-ruby-on-rails-presentations/" rel="bookmark" akvli="0" tjovt="0">Top 13 Ruby on Rails Presentations</a>&nbsp; </h2>
<div class="posted" akvli="0" tjovt="0">Posted on Saturday 12 August 2006 </div>
<p akvli="0" tjovt="0">Here is a list of all the Ruby on Rails presentations that I have bookmarked.</p>
<p akvli="3" tjovt="0"><strong akvli="0" tjovt="0">VIDEO</strong><br />
<a href="http://media.rubyonrails.org/video/rails_take2_with_sound.mov" akvli="0" tjovt="0">Creating a weblog in 15 minutes</a> - For me, this is the video that started it all.</p>
<p akvli="1" tjovt="0"><a href="http://video.google.com/videoplay?docid=2939556954580527226" akvli="0" tjovt="0">Snakes and Rubbies: Complete</a> - &#8220;On December 3, 2005, Ruby and Python developers from Chicago and vicinity gathered at DePaul University to hear two of the leaders in rapid Web-application development debate the merits of each other&#8217;s frameworks.&#8221;</p>
<p akvli="5" tjovt="0"><a href="http://video.google.com/videoplay?docid=2939556954580527226" akvli="0" tjovt="0">Snakes and Rubbies: Persuing beauty with Ruby on Rail</a> - &#8220;On December 3, 2005, Ruby and Python developers from Chicago and vicinity gathered at DePaul University to hear two of the leaders in rapid Web-application development debate the merits of each other&#8217;s frameworks.&#8221;<br />
<br />
<a href="http://blog.scribestudio.com/articles/2006/06/30/railsconf-2006-keynote-series-dave-thomas" akvli="0" tjovt="0">RailsConf 2006 Keynote Series: Dave Thomas</a> - Dave Thomas, author of Agile Web Development with Rails and the pick axe book, challenges the Rails community.</p>
<p akvli="1" tjovt="0"><a href="http://blog.scribestudio.com/articles/2006/07/09/david-heinemeier-hansson-railsconf-2006-keynote-address" akvli="0" tjovt="0">David Heinemeier Hansson RailsConf 2006 Keynote Address</a> - Discovering a world of Resources on rails. PDF is available <a href="http://www.loudthinking.com/lt-files/worldofresources.pdf" akvli="0" tjovt="0">here</a>.</p>
<p akvli="1" tjovt="0"><a href="http://blog.scribestudio.com/articles/2006/07/03/martin-fowler-railsconf-2006-keynote-address" akvli="0" tjovt="0">Martin Fowler RailsConf 2006 Keynote Address</a> - Martin Fowler talks about good software design, simplicity, conversational software development, and postmodern programming.</p>
<p akvli="1" tjovt="0"><a href="http://blog.scribestudio.com/articles/2006/07/17/david-graham-railsconf-2006-keynote-address" akvli="0" tjovt="0">Paul Graham RailsConf 2006 Keynote Address</a> - IMHO the best presentation to come out of RailsConf 2006! Paul Graham is a great speaker/writer. In this presentation Paul Graham contradicts the Old Testament and Yoda.</p>
<p akvli="1" tjovt="0"><a href="http://blog.scribestudio.com/articles/2006/07/22/rails-core-panel-discussion" akvli="0" tjovt="0">Rails Core Panel Discussion</a> - a Q/A panel discussion with the rails core developers.</p>
<p akvli="1" tjovt="0"><a href="http://www.lfpug.com/ruby-on-rails-for-the-flex-developer-22062006-stuart-eccles/" akvli="0" tjovt="0">Ruby on Rails for the Flex Developer</a> - An introductory presentation on Ruby on Rails by Stuart Eccles.</p>
<p akvli="3" tjovt="0"><strong akvli="0" tjovt="0">AUDIO</strong><br />
<a href="http://www.rubyonrails.com/media/audio/dhh-rubyconf.mov" akvli="0" tjovt="0">Ruby on Rails Ruby Conf &#8216;04</a> - Ruby on Rails Origin Drive Destination presentation given by David Heinemeier Hansson at Ruby Conf &#8216;04.</p>
<p akvli="1" tjovt="0"><a href="http://www.theserverside.com/news/thread.tss?thread_id=41622" akvli="0" tjovt="0">10 Things Java Should Steal from Ruby</a> - &#8220;In this presentation, given at TheServerSide Java Symposium Barcelona in June, Bruce Tate looks at how Java developers, framework designers, and language designers can learn from the capabilities of Ruby to improve Java.&#8221;</p>
<p akvli="3" tjovt="0"><strong akvli="0" tjovt="0">PDF/HTML</strong><br />
<a href="http://www.rubyinside.com/ajax-on-rails-presentation-including-lots-of-examples-27.html" akvli="0" tjovt="0">AJAX on Rails Presentation</a> - Presentation material put together by Stuart Halloway and Justin Gehtland of Relevance LLC. </p>
<p akvli="1" tjovt="0"><a href="http://johnwlong.com/slides/gettothepoint/" akvli="0" tjovt="0">Get to the Point!</a> - Nice slides on Development with Ruby on Rails.</p>
<br />
<br />
<span style="background-color: yellow">－－－以上为更新记录</span><br />
<pre akvli="35" tjovt="0">Agile Web Development with Rails(DHH)<br />
<a href="http://rforum.chinaonrails.com/books/Agile-Web-Development-with-Rails-Final.pdf" rel="nofollow" akvli="0" tjovt="0">http://rforum.chinaonrails.com/books/Agile-Web-Development-with-Rails-Final.pdf</a><br />
<br />
一个家伙Eiffel Qiu谈了谈Rails,感谢这个家伙(Eiffel Qiu)。<br />
<a href="http://rforum.chinaonrails.com/books/rubyonrails.pdf" rel="nofollow" akvli="0" tjovt="0">http://rforum.chinaonrails.com/books/rubyonrails.pdf</a><br />
<br />
Rails4Days<br />
<a href="http://rforum.chinaonrails.com/books/Rails4Days.pdf" rel="nofollow" akvli="0" tjovt="0">http://rforum.chinaonrails.com/books/Rails4Days.pdf</a><br />
<br />
cap-programming<br />
<a href="http://rforum.chinaonrails.com/books/cap-programming.ruby-2nd.pdf" rel="nofollow" akvli="0" tjovt="0">http://rforum.chinaonrails.com/books/cap-programming.ruby-2nd.pdf</a><br />
<br />
Oreilly都出版了Ruby的书籍 Ruby in Nutshell<br />
<a href="http://rforum.chinaonrails.com/books/Oreilly.Ruby.In.A.Nutshell.chm" rel="nofollow" akvli="0" tjovt="0">http://rforum.chinaonrails.com/books/Oreilly.Ruby.In.A.Nutshell.chm</a><br />
<br />
The Ruby way<br />
<a href="http://rforum.chinaonrails.com/books/the-ruby-way.chm" rel="nofollow" akvli="0" tjovt="0">http://rforum.chinaonrails.com/books/the-ruby-way.chm</a><br />
<br />
Trap<br />
<a href="http://rforum.chinaonrails.com/books/trap.chm" rel="nofollow" akvli="0" tjovt="0">http://rforum.chinaonrails.com/books/trap.chm</a><br />
<br />
以上来自http://chinaonrails.com/topic/4<br />
<br />
</pre>
<table height="164" cellspacing="0" cellpadding="0" width="542" border="1">
    <tbody>
        <tr>
            <td width="72"><span class="STYLE2" akvli="0" tjovt="0">书籍名称</span></td>
            <td width="242"><span class="STYLE2" akvli="0" tjovt="0">书籍介绍</span></td>
            <td width="220"><span class="STYLE2">下载地址</span></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《Agile Web Development With Rails》2nd edition </span></td>
            <td><span class="STYLE2" akvli="0" tjovt="0">Rails圣经</span></td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/Agile_Web_Development_With_Rails-Beta.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/Agile_Web_Development_With_Rails-Beta.pdf</a></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《Agile Web Development With Rails》</span></td>
            <td akvli="1" tjovt="0"><span class="STYLE2" akvli="0" tjovt="0">Rails圣经</span>第1版</td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/Agile%20Web%20Development%20with%20Rails.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/Agile%20Web%20Development%20with%20Rails.pdf</a></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《Programming ruby》2nd edition</span></td>
            <td><span class="STYLE2" akvli="0" tjovt="0">Ruby圣经</span></td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/Programming%20ruby-2nd.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/Programming%20ruby-2nd.pdf</a></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《Ruby on Rails》</span></td>
            <td><span class="STYLE2" akvli="0" tjovt="0">RoR的简要介绍</span></td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/Ruby%20on%20Rails.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/Ruby%20on%20Rails.pdf</a></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《Ruby User's Guide》</span></td>
            <td><span class="STYLE2" akvli="0" tjovt="0">Ruby创始人写的书籍</span></td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/Ruby%20User%27s%20Guide.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/Ruby%20User%27s%20Guide.pdf</a></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《yaml specification》</span></td>
            <td><span class="STYLE2" akvli="0" tjovt="0">YAML标准详解</span></td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/YAML%20specification.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/YAML%20specification.pdf</a></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《oreilly.beyond.java.sep.2005》</span></td>
            <td><span class="STYLE2" akvli="0" tjovt="0">Oreilly出的书</span></td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/oreilly.beyond.java.sep.2005.chm" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/oreilly.beyond.java.sep.2005.chm</a></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《Oreilly.Ruby.In.A.Nutshell》</span></td>
            <td><span class="STYLE2" akvli="0" tjovt="0">Oreilly出的书</span></td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/Oreilly.Ruby.In.A.Nutshell.chm" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/Oreilly.Ruby.In.A.Nutshell.chm</a></td>
        </tr>
        <tr>
            <td><span class="STYLE2" akvli="0" tjovt="0">《the ruby way》</span></td>
            <td>
            <p class="STYLE2">讲述有关ruby way的书籍</p>
            </td>
            <td><a class="STYLE2" href="http://www.judgeonline.net/downloads/the%20ruby%20way.chm" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/the%20ruby%20way.chm</a></td>
        </tr>
        <tr>
            <td class="STYLE2"><span class="STYLE2" akvli="0" tjovt="0">《ruby for rails》</span></td>
            <td class="STYLE2"><span class="STYLE2">假如你喜欢rails，但又没有ruby的基础，那么这将是你最好的选择</span></td>
            <td class="STYLE2"><a class="STYLE2" href="http://www.judgeonline.net/downloads/Ruby%20for%20rails.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/Ruby%20for%20rails.pdf</a></td>
        </tr>
        <tr>
            <td class="STYLE2" akvli="0" tjovt="0">《Rails 4 days》</td>
            <td class="STYLE2" akvli="0" tjovt="0">Rails快速入门</td>
            <td class="STYLE2"><a class="STYLE2" href="http://www.judgeonline.net/downloads/Ruby%20for%20rails.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/Ruby%20for%20rails.pdf</a></td>
        </tr>
        <tr>
            <td class="STYLE2" akvli="0" tjovt="0">《AjaxFastLane》</td>
            <td class="STYLE2" akvli="0" tjovt="0">Ajax快速入门</td>
            <td class="STYLE2"><a class="STYLE2" href="http://www.judgeonline.net/downloads/AjaxFastLane.pdf" akvli="0" tjovt="0">http://www.judgeonline.net/downloads/AjaxFastLane.pdf</a></td>
        </tr>
    </tbody>
</table>
<pre akvli="3" tjovt="0">以上来自：http://www.judgeonline.net/downloads.html<br />
<br />
既然要看ruby on rails 方面的书，那么就有必要看下这篇文章:<br />
<br />
</pre>
<div align="center"><span style="font-size: 20pt; line-height: 32pt"><strong><font color="#ff0000" akvli="0" tjovt="0">Ruby完全读书指南 </font></strong></span></div>
<div class="font1" align="center">■熊节</div>
<div align="center">
<hr size="1" />
</div>
<p><!--enpcontent--><font face="楷体_GB2312" akvli="1" tjovt="0">　　随着Ruby和Rails的不断升温，可以预见很快就会有更多阐述某一细部的技术书籍出现，各种经验与模式也会结集出版。也许不久之后，就再也没人能像作者这样给出一份&#8220;Ruby完全读书指南&#8221;了。所以，能读到这样一篇文章，就当做是Ruby与你的缘分吧。</font></p>
<p akvli="0" tjovt="0">　　看到这样一个题目，大概很多读者会记起这样一张图片：左边堆着高高一摞关于Java的技术书籍，右边则是区区两本关于Ruby的。炮制这张图片的用意显而易见，不过随着Ruby和Rails的急速窜红，Ruby图书也开始如同雨后春笋般纷纷问世——这也意味着学习者们需要花越来越多的时间和精力来挑选适合自己的书了。</p>
<p akvli="0" tjovt="0">　　也许Ruby（以及Rails）正在像Java（以及J2EE）一样，不可逆转地变得越来越庞大，因此也需要越来越多的图书来阐释。不过至少现在，我们还可以把所有关于Ruby的图书列举一遍——对于Java，这已经是一个不可能的任务。说句题外话，之所以我迫不及待地急着写这篇书评，正是因为我相信它在不久之后也会成为一个不可能的任务。</p>
<p><strong>Programming Ruby（2nd Edition）</strong></p>
<p>&nbsp;&nbsp;&nbsp; 这似乎已经不是怪事：关于一种编程语言的经典教材，作者不是这门语言的创造者。就像Stan Lippman之于C++、Joshua Bloch之于Java、Martin Fowler之于UML一样，Dave Thomas也许是这个世界上最善于向别人讲解Ruby语言的人——至少超过Matsumoto是毫无问题的。也许正是因为自己也经历了&#8220;不懂到懂&#8221;的学习过程，有时候&#8220;旁观者&#8221;反倒比&#8220;创造者&#8221;更清楚学习者们需要什么。</p>
<p>　　所以这本书就是Ruby的经典教材。关于Ruby的基本语法和常用工具，书中第一部分和第二部分做了详细的介绍。第三部分&#8220;Ruby Crystallized&#8221;更加阐述了Ruby语言的一些细节和设计理念，其中第23章&#8220;Duck Typing&#8221;是刚从Java或者.NET平台走出来的读者不可错过的，因为对于类型与契约的理解、对于类与类型的理解，正是Ruby这种动态语言与 Java/C#等静态语言最大的区别之一。随后的第四部分提供了Ruby基础类库的速查手册。</p>
<p>　　Dave Thomas和Andy Hunt这两个&#8220;Pragmatic Programmer&#8221;并非浪得虚名：这本Programming Ruby虽然不是一本称职的参考手册，却足够帮助一个初学者步入Ruby世界而不致误入歧途，并且能够在很少见的一些情况下——譬如说忘了yield的用法——给有经验的Ruby程序员提供帮助。在我看来，这也就足够奠定它作为经典教材的地位了。由于封面上有一柄丁字镐，这本书也被昵称为&#8220;镐头书&#8221;——它正是你发掘&#8220;红宝石&#8221;（Ruby）宝藏的必备工具。</p>
<p><strong>Agile Web Development with Rails</strong></p>
<p>&nbsp;&nbsp;&nbsp; Rails的作者David Heinemeier Hansson说过一句大实话：&#8220;我从来不会为了学语言而学语言。&#8221;大多数人在大多数时候学习一种新的语言不是为了比较语言的优劣，而是因为这个语言底下的某个工具能给他的工作带来帮助。Ruby世界里的这个&#8220;杀手应用&#8221;，让Ruby在短短一年时间里成为焦点的这个工具，就是Rails。</p>
<p>　　这是第一本介绍Rails的图书，又是由Rails的作者DHH和前面提到的Dave Thomas共同撰写，其价值可谓不言而喻了。许是两位作者有太多的&#8220;干货&#8221;想要交给读者，这本书的第一版被他们——不幸地——写到了558页之厚。书中首先展示了一个规模不大的在线购物网站，让读者亲身体验用Rails进行敏捷开发的感受；然后针对Rails框架的各个组件和安全、部署等延伸话题展开了深入的讨论。其内容之全面、探讨之深入，令人叹为观止。看起来，和Matsumoto不同，DHH很清楚应该怎么介绍自己的作品——不管是&#8220;浅出&#8221;还是 &#8220;深入&#8221;。</p>
<p>　　值得中国读者高兴的是，这本书的第一版已经由林芷薰翻译，电子工业出版社付梓。Rails仍然处在高速发展的阶段，从本书第一版截稿至今， Rails已经发生了相当大的变化，因此这本中译本甫一面世便已经有很多过时之处。但这本书毕竟不是参考手册，作者更多地是在其中阐述Rails的设计理念和最佳实践。对于英文阅读无法达到最快速度的读者来说，这个译本未尝不可以是一个称职的向导。</p>
<p><strong>Rails开发者助手两种 </strong></p>
<p>　　不难想象，有很多性急的程序员会——就像我一样——草草了解Ruby语法之后就一头扎进Rails的绚丽宫殿，体验快速开发web应用的成就感，却不得不时时因为缺乏对Ruby语言的深入了解而感到迷惑：这个类里什么都没有，它为什么会工作？那个地方写的代码是什么意思？可是，要全面系统地学习Ruby，又实在令人望而生畏。还好，我们有这本Ruby for Rails。书中介绍了一些Ruby语言特性——既有普通的也有高级的，都是Rails中使用到的。简而言之，这就是一本专门为Rails应用开发者提供的Ruby指南。更有趣的是，书中还用了一章（第17章）篇幅专门介绍&#8220;如何探索Rails源代码&#8221;，真可谓是&#8220;授人以渔&#8221;的典范了。</p>
<p>　　另一个&#8220;助手&#8221;则是Chad Fowler——他也是Programming Ruby的合著者——的Rails Recipes。和任何一本&#8220;菜谱&#8221;（recipe）一样，这本书不会教你如何使用菜刀与炒勺、如何把蔬菜切片——你可以从别的很多地方学到这些技巧。这本RailsRecipes教给读者的，是如何在<img alt="" src="file:///C:/Documents%20and%20Settings/Administrator/桌面/Ruby%20on%20Rails%20(ROR)类书籍下载地址及其他（整理）%20-%20RubyPdf%20的中文博客%20-%20博客园_files/xin_2307032014410152000620.jpg" align="left" /> Rails环境下急就章地完成一个你需要的功能。譬如说&#8220;用户登录与身份验证&#8221;这件事，每个网站、每个开发者都曾经做过不止一次，这本书中就给了读者一个简单而可靠的解决方案，读者只要抄抄改改，几分钟就可以完成这个功能。对于初接触Rails（以及Web 2.0）、面对很多问题尚且无从下手的新兵来说，这本书确实可以帮助他们解决一些实际问题。</p>
<p>　　不过这本书的局限也同样明显：如果你需要的菜色超出了这份菜谱的范围，它就只好爱莫能助了；而且，仅仅给出解决问题的代码，却没有对应的单元测试，也让习惯了TDD的读者多少有些忐忑。在我看来，这本书对&#8220;授人以鱼&#8221;的专注恰好和前一本Ruby for Rails构成了一对&#8220;可怕的对称&#8221;，也让这两本书有理由共存于Rails开发者的案头。</p>
<p><strong>Ruby In A Nutshell，以及Ruby老书四种 </strong></p>
<p>&nbsp;作为Ruby语言的缔造者，Yukihiro Matsumoto只能写一本&#8220;果壳书&#8221;，这本身就是一件耐人寻味的事情。O&#8217;Reilly的&#8220;果壳书&#8221;系列历来褒贬不一：有人认为它们缺乏深度，也有人认为它们是快速入门的好帮手。但Matsumoto最大的问题在于：他创造了Ruby，却没有真正意识到这种语言到底有多大的威力——后来他经常在 Ruby on Rails讨论组活动，从中了解一些精妙的Ruby用法。其结果也很自然：这本Ruby In A Nutshell作为语言参考中规中矩，但对于实际应用中的妙处——例如在DSL方面的应用——却语焉不详。再加上它所针对的Ruby版本是略显过时的 1.6版，也让这本书的地位略显尴尬。</p>
<p>　　和这本&#8220;略显尴尬&#8221;的Ruby In A Nutshell比起来，另外的几本老书基本上已经失去了可读的价值：它们出版于2001或者2002年，既不针对最新的Ruby版本，又没赶上 Rails的热潮，作为语言参考也缺乏Matsumoto那样的权威性，所以这几本书也就被归入&#8220;不值一读&#8221;之列了。它们是：</p>
<p>　　Ruby Developer&#8217;s Guide，Syngress Publishing 2002</p>
<p>&nbsp;&nbsp;&nbsp; The Ruby Way，Sams 2001</p>
<p>&nbsp;&nbsp;&nbsp; Making Use of Ruby，Wiley 2002</p>
<p>　　Teach Yourself Ruby in 21 Days，Sams 2002</p>
<p><strong>Ruby 奇书两种 </strong></p>
<p>　　称它们为&#8220;奇书&#8221;，因为它们的主题实在偏颇。先看这本Enterprise Integration with Ruby：虽说脚本语言常常被称为&#8220;胶水&#8221;，有多少人会当真想到用Ruby去做企业应用集成？不过细看之下，这本书多少有些名不副实之嫌，因为它真正介绍的无非只是如何访问数据库、如何操作XML、如何通过SOCKET通信之类比较底层的技术而已。在一个生僻的题目之下写着另一些生僻的内容，尽管这些内容算得上有趣，但我还是要对那些没有读过这本书的Ruby程序员说：你没有错过太多——尽管这本书与你想象的并不一样。</p>
<p>　　最后要介绍的这本书更是备受争议：有人盛赞它是&#8220;精通Ruby的必经之路&#8221;，也有人批评它沉溺于奇技淫巧缺乏实用价值。但无论褒贬，更多的读者正在逐一挑战其中的谜题——这本书就是James Edward Gray所著的Best of Ruby Quiz。这本书（目前出版的是第一卷）列举了25道题目，读者大多可以想出一种办法来解决这些问题，往往还能 通过思考和重构找到第二种优雅的设计，但这本书却给你列出了第三种、第四种真正精巧的解决方案——充分利用Ruby技巧才能得出的解决方案。这些题目的最终解法之巧妙，常常令人拍案叫绝（或是破口大骂）。不过这些&#8220;奇技淫巧&#8221;也并非全无用处，例如书中很多题目在解答时都用到了正则表达式，理解这些解答对于深入学习正则表达式的用法是很有帮助的。</p>
<p>　　草率而又艰难地，我们粗粗浏览了2006年6月之前出版的所有Ruby图书。迄今为止，所有这些Ruby图书都是针对整个Ruby语言、或是针对Rails框架的，只是关注角度各有区别。随着Ruby和Rails的不断升温，可以预见很快就会有更多阐述某一细部的技术书籍出现，各种经验与模式也会结集出版。也许不久之后，就再也没人能像这样给出一份&#8220;Ruby完全读书指南&#8221;了。所以，能读到这样一篇文章，就当做是Ruby与你的缘分吧。</p>
<img src ="http://www.blogjava.net/yjjlovewjf/aggbug/167781.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjjlovewjf/" target="_blank">wǒ愛伱--咾婆 </a> 2007-12-14 15:07 <a href="http://www.blogjava.net/yjjlovewjf/archive/2007/12/14/167781.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby 学习常用网址</title><link>http://www.blogjava.net/yjjlovewjf/archive/2007/12/14/167650.html</link><dc:creator>wǒ愛伱--咾婆 </dc:creator><author>wǒ愛伱--咾婆 </author><pubDate>Fri, 14 Dec 2007 01:04:00 GMT</pubDate><guid>http://www.blogjava.net/yjjlovewjf/archive/2007/12/14/167650.html</guid><wfw:comment>http://www.blogjava.net/yjjlovewjf/comments/167650.html</wfw:comment><comments>http://www.blogjava.net/yjjlovewjf/archive/2007/12/14/167650.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjjlovewjf/comments/commentRss/167650.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjjlovewjf/services/trackbacks/167650.html</trackback:ping><description><![CDATA[<p dir="ltr" style="margin-right: 0px" align="left"><strong style="color: #3366ff; background-color: #ffffff">-- Ruby网站 --<br />
<br />
Ruby官方网站(英文) http://www.ruby-lang.org<br />
Ruby on Rails官方网站(英文) http://www.rubyonrails.com <br />
RubyForge--Ruby开源项目(英文) http://rubyforge.org<br />
Kwartz-Ruby官方网站(英文) http://www.kuwata-lab.com/kwartz<br />
Ruby Central http://www.rubycentral.com<br />
Ruby官方中文站(中文) http://rubycn.ce-lab.net [推荐]<br />
RUBY中文化计划(中文) http://www.moer.net/ruby [推荐]<br />
Jellen's Ruby Home(中文) http://www.rubychina.org<br />
Ruby-cn Wiki(中文) http://www.ruby-cn.org [推荐]<br />
Ruby-cn 论坛 (中文) http://www.ruby-cn.org/phpbb [推荐]<br />
Ruby-cn Blog (中文) http://blog.ruby-cn.org [推荐]<br />
femto的Blog (中文) http://www.blogdriver.com/femto<br />
Ruby On Rails中文博客 http://blog.railscn.com<br />
<br />
<br />
-- Ruby 学习资料 --<br />
<br />
Ruby中文参考手册 http://rubycn.ce-lab.net/man/index.html [推荐]<br />
RUBY中文文档中心 http://www.moer.net/ruby/doc/index.asp [推荐]<br />
Ruby中文用户指南 http://www.ruby-cn.org/doc/ru-cn/index.html [推荐]<br />
Ruby 中文 FAQ http://www.rubychina.org/faq.htm [推荐]<br />
Programming Ruby: 实用程序员指南(中文) http://www.ruby-cn.org/book/ProgrammingRuby/index.html [推荐]<br />
WideStudio Programming Guide(中文) http://www.ruby-cn.org/doc/ws/prog-ruby/prog.html<br />
The Pragmatic Programmer's Guide(英文) http://www.rubycentral.com/book<br />
Ruby user's guide(英文) http://www.rubyist.net/~slagell/ruby/index.html<br />
&lt;
<programming ruby=""  /></programming />
&gt;一书代码集(英文) http://pragmaticprogrammer.com/titles/ruby/code/index.html<br />
RubyConf 2004(Ruby2004年大会资料)(英文) http://zenspider.com/Languages/Ruby/RubyConf2004.html<br />
<br />
<br />
<br />
-- Ruby软件下载 --<br />
<br />
ruby-1.8.2.tar.gz ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.2.tar.gz <br />
mod_ruby-1.2.4.tar.gz http://modruby.net/archive/mod_ruby-1.2.4.tar.gz <br />
eruby-1.0.5 http://modruby.net/archive/eruby-1.0.5.tar.gz <br />
ruby-mysql-0.2.6.tar.gz http://www.tmtm.org/ruby/mysql/ruby-mysql-0.2.6.tar.gz <br />
kwartz-ruby_2.0.4.tar.bz2 http://rubyforge.org/frs/download.php/5230/kwartz-ruby_2.0.4.tar.bz2<br />
rails-0.13.1.tgz http://rubyforge.org/frs/download.php/5176/rails-0.13.1.tgz<br />
rubygems-0.8.11.tgz http://rubyforge.org/frs/download.php/5207/rubygems-0.8.11.tgz<br />
<br />
<br />
<br />
[ 参考网址 ]<br />
<br />
http://www.ruby-cn.org/phpbb/viewtopic.php?t=6<br />
http://www.ruby-cn.org/phpbb/viewtopic.php?t=72<br />
http://www.cnblogs.com/chenge/archive/2005/06/08/170631.html </strong></p>
<img src ="http://www.blogjava.net/yjjlovewjf/aggbug/167650.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjjlovewjf/" target="_blank">wǒ愛伱--咾婆 </a> 2007-12-14 09:04 <a href="http://www.blogjava.net/yjjlovewjf/archive/2007/12/14/167650.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ruby code</title><link>http://www.blogjava.net/yjjlovewjf/archive/2007/12/12/167337.html</link><dc:creator>wǒ愛伱--咾婆 </dc:creator><author>wǒ愛伱--咾婆 </author><pubDate>Wed, 12 Dec 2007 13:12:00 GMT</pubDate><guid>http://www.blogjava.net/yjjlovewjf/archive/2007/12/12/167337.html</guid><wfw:comment>http://www.blogjava.net/yjjlovewjf/comments/167337.html</wfw:comment><comments>http://www.blogjava.net/yjjlovewjf/archive/2007/12/12/167337.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/yjjlovewjf/comments/commentRss/167337.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjjlovewjf/services/trackbacks/167337.html</trackback:ping><description><![CDATA[<p>#这是我用ruby写的非常小的个小代码..爽啊...嘿嘿!</p>
<p>def wjf name;<br />
&nbsp; result = "宝贝#{name},我爱你";<br />
&nbsp; return result<br />
end<br />
puts wjf("wjf")</p>
<p>=begin<br />
puts wjf("wjf")&nbsp; also puts wjf"wjf" also puts wjf "wjf"<br />
but when I compile it ..I get a warning:parenthesize argument(s) for future version<br />
so ..<br />
=end</p>
<img src ="http://www.blogjava.net/yjjlovewjf/aggbug/167337.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjjlovewjf/" target="_blank">wǒ愛伱--咾婆 </a> 2007-12-12 21:12 <a href="http://www.blogjava.net/yjjlovewjf/archive/2007/12/12/167337.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows平台的ruby IDE 点评 </title><link>http://www.blogjava.net/yjjlovewjf/archive/2007/12/11/166952.html</link><dc:creator>wǒ愛伱--咾婆 </dc:creator><author>wǒ愛伱--咾婆 </author><pubDate>Tue, 11 Dec 2007 07:28:00 GMT</pubDate><guid>http://www.blogjava.net/yjjlovewjf/archive/2007/12/11/166952.html</guid><wfw:comment>http://www.blogjava.net/yjjlovewjf/comments/166952.html</wfw:comment><comments>http://www.blogjava.net/yjjlovewjf/archive/2007/12/11/166952.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjjlovewjf/comments/commentRss/166952.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjjlovewjf/services/trackbacks/166952.html</trackback:ping><description><![CDATA[<p>在MacOS平台几乎没有什么争议性，大家都用TextMate。但是Windows平台可供选择和使用的IDE很多，却各有各的长处和短处。基于我用过的所有ruby IDE点评一下。windows平台的RoR IDE主要分为两类：一类是重量级的全功能IDE，例如Eclipse，Netbeans，IDEA和jedit，运行起来很耗资源，功能比较齐全；另一类是轻量级的IDE，例如Komodo，RoRed，vim，emacs，E，下面一一点评之：</p>
<p>一、重量级的IDE</p>
<p>1、radrails － 当前最值得推荐的IDE</p>
<p>radrails是基于Eclipse的插件，当前版本0.7.2。radrails继承了Eclipse平台的各种功能，尤其是CVS/SVN集成特别好，和其他ruby IDE相对比来说，radrails最主要的优点在于bug很少，功能非常齐全。</p>
<p>1) 相对于其他大多数RoR IDE各种各样的bug，radrails在0.7.2版本的表现非常的稳定。在我连续几个月使用下来，基本没有什么大的bug。</p>
<p>2) 功能齐全，其他IDE或多或少功能都有缺失，但radrails功能非常齐全：内置的server管理，generator，rake task，rdoc检索，plugin安装，规则表达式校验，tail log，，console调试窗口，debug，代码格式化，代码和模板高亮，ruby代码和rhtml模板的template自动提示，单元测试支持，代码和测试之间的跳转，代码和模板之间的跳转等等等无所不包。</p>
<p>3) 中文支持非常好，UTF-8编码支持也非常好。中文字体显示也很漂亮，这一点对我们来说很重要。</p>
<p>但是radrails也不是没有缺点，radrails的致命缺点是其RDT功能太弱智。</p>
<p>1) 代码的感知能力很差，连我敲一个def回车都不会自动补齐end。而且也不能够搜索ruby库文件进行语法树分析，所以没有智能提示功能。</p>
<p>2) 没有像Eclipse的JDT那样的Ctrl+O来快速导航到某个方法的功能，这一点对我开发很重要，否则我就总是需要通过serch "def 方法名"才能快速找到要修改的方法，非常不方便，这是我非常垢病RDT的一个地方，也没有F3快速导航到类定义文件的功能。</p>
<p>RDT下一个版本0.9.0号称在两周以后就会发布(RDT快两年没有推出新版本了，实在是太迟钝了)，貌似对于脚本语言的AST解析能力大大增强，如果真的是这样，还是很值得期待的，预计RDT0.9.0发布几周之后，radrails就会发布0.8版本。另外值得一提的是radrails得到了SAP的一些赞助和支持。</p>
<p>2、Netbeans － 最值得期待的IDE</p>
<p>Netbeans6.0M7提供了Generic Language Support Framework，一个很强大的脚本语言框架，在这个框架基础上提供的ruby和ruby on rails支持表现非凡。可以对ruby语言和库进行良好的语法分析，从而提供智能化的代码提示功能，让ruby程序员也可以享受到敲一个&#8220;.&#8221;就能够跳出来详细提示的功能，真正有了写Java程序的安全感。有些优点确实很棒：</p>
<p>1) 代码感知能力超强，不但系统库的API，你自己项目的所有类API都可以根据上下文提示，有了写Java程序那种安全感了，也不用跳转来去找类定义文件了。</p>
<p>2) 快捷的打开rails库文件和ruby所有库文件，类似在Eclipse里面打开依赖库的源代码和JDK的源代码的功能，对于学习和熟悉ruby库和rails非常非常有用。</p>
<p>3) Ctrl+G可以快速定位类定位文件，类似Eclipse的F3的功能。</p>
<p>目前netbeans这些功能领先所有的其他IDE，非常令人期待。但是netbeans也有些明显的缺点，有些东西用起来行为非常古怪，可能是因为netbeans6.0还是beta版本，bug太多的缘故，而且也不够稳定：</p>
<p>1) 没有类似Eclipse的Ctrl+Shift+R那样的文件快速定位功能，要自己在项目树里面一层层找，这个实在令人难以忍受。一个大项目动不动几百个文件，不能快速定位，找起来太影响效率。其实netbeans提供了一个Ctrl+Alt+O的快捷定位，但是不起作用，搜索框总是空的，因此怀疑netbeans有这个功能，目前是bug导致出不来。</p>
<p>2) 没有在文件中快速定位某个方法的功能，这一点和radrails一样令人失望。</p>
<p>3) 在编辑器里面好多顺手的代码编辑的快捷功能都没有，令人很苦恼，这一点显然不如radrails那么方便。</p>
<p>4) 对中文的支持不好</p>
<p>5) 对yml文件没有高亮功能</p>
<p>6) 依赖JDK6.0，在JDK5.0上面跑很不流畅。</p>
<p>总得来说，netbeans还是最值得期待的IDE，等到07年底，netbeans6.0正式发布，ruby插件支持更加成熟以后，我想我会转移到netbeans上面来。另外非常重要的一点：Sun公司从JDK6以后，致力于JVM平台化发展道路，大力拓展脚本语言在JVM平台的支持力度，而且Sun给予了JRuby官方支持，所以netbeans平台的脚本框架和RoR支持是有足够的商业推动力的，前景应该是最好的！</p>
<p>3、IDEA - 观望中</p>
<p>貌似前段时间有人撰文推荐IDEA作为首选ruby IDE，我觉得他的理由很奇怪，其实IDEA目前不是好的选择：其ruby代码感知能力和智能提示能力明显不如netbeans，其功能齐全程度又明显不如radrails，而且最致命的是IDEA竟然不能对rhtml模板高亮和提示，那就宣布了IDEA的基本不可用，另外yml文件也不能高亮。其插件作者说下一版本会提供rhtml高亮和提示，所以我们对IDEA目前还持观望态度。</p>
<p>但IDEA也有一些明显优点，例如IDEA就有对ruby类和ruby资源进行快速定位的快捷键Ctrl+Alt+N和Alt+N，这明显优于radrails和netbeans，另外也有在当前文件快速定位方法的快捷键，终于克服了我对radrails的最大怨气。</p>
<p>4、jedit - 貌似没什么理由去用它了</p>
<p>作为一个重量级IDE，却定位在轻量级功能上，要安装一大堆插件才能勉强把功能跑起来，没什么理由去用它。</p>
<p>二、轻量级IDE</p>
<p>1、E － 最值得期待的轻量级IDE</p>
<p>E现在确实有很多bug，很多功能缺失，例如：我非常在意的对文件进行快速定位的快捷键和在当前文件中快速定位方法的快捷键，目前E竟然不支持，但是TextMate可是有的；快速删除当前行在TextMate当中是Command+L，但是E貌似没有，诸如此类的功能缺失。所以E和TextMate还是有很大差距的。</p>
<p>但是E确实在主要方面完全克隆了TextMate，所以这些小功能上面的缺失应该只是时间问题。所以相信给E半年左右的时间，E会成为Windows平台当之无愧的TextMate。</p>
<p>2、Komodo - 乏善可陈</p>
<p>Komodo是个定位很传统的脚本IDE，对于ruby没有什么特别好的支持，有最基本的语法高亮和简单的代码提示而已，以及一个简陋的项目树，运行速度还很缓慢，而且还是收费的，实在不值得去用。</p>
<p>3、RoRed - mini ruby IDE</p>
<p>如果你真要去用Komodo，那我建议你改用RoRed，一个专门针对ruby on rails开发的简单编辑器，带有ruby语法高亮，项目树，功能简单，可能对某些偏爱UltraEdit/Editplus的人来说用RoRed已经够用了，速度也挺快的。</p>
<p>4、vim/emacs - 不适合Windows平台的ruby IDE</p>
<p>vim以及emacs这些源于Unix平台的IDE，我认为不适合在Windows上面用。因为vim/emacs当初被设计成为一个无鼠标支持的编辑环境，全部依靠键盘命令驱动。当你在Windows下面使用的时候，这种习惯会被打破，从而觉得非常影响效率。</p>
<p>例如在vim里面执行一个generator，Unix上面会在vim窗口中开buffer显示，执行完毕敲一下回车就退出这个buffer了，很方便很快捷。但在Windows平台，竟然会弹出一个DOS窗口，而且把键盘焦点给转移到这个DOS窗口上去了。这就迫使你不得不动用鼠标去选择这个DOS窗口，然后关闭它，再把焦点定位回到vim上面来。这就丧失了vim最大的优势了，反而搞的很麻烦。</p>
<p>当然你可以用Alt+Tab键来切换窗口，不必动用鼠标。但遗憾的是Windows操作系统的窗口切换能力很差，一旦你的windows开的窗口多了，在窗口之间快捷切换是一件很麻烦的事情，还不如鼠标来得快捷。这一点Windows比MacOS有很大的差距。MacOS上面进行多窗口切换那才叫一个爽字呢！</p>
<p>最后我认为轻量级IDE在windows平台的市场不会很大，即使E的功能能够完善到TextMate的程度，也不会有radrails那么普及。主要还是和操作系统的支持有关系：</p>
<p>在MacOS上面，你开一个Textmate窗口，一个浏览器窗口，一个tail log窗口，一个命令窗口启动关闭服务器，一个命令窗口进行console调试，一个命令窗口执行单元测试，还有一个命令窗口连接MySQL数据库看数据。在这些窗口之间仅仅使用快捷键进行来回切换是很方便很快捷的事情。</p>
<p>但是Windows的窗口切换功能太弱了，一下开了七个窗口，你编程的时候来回切换的工作效率是很低的。所以在Windows上面要提高工作效率就会倾向于radrails这样的IDE，把所有功能都集成进来了，只要一个radrails窗口，一个浏览器窗口足矣了。这样工作效率才高。</p>
<p>最后值得一提的是，所有这些IDE的rhtml编辑功能还是不如textmate，一旦在html标签里面嵌入代码段，就不能高亮了。而textmate是不会这样的。</p>
<img src ="http://www.blogjava.net/yjjlovewjf/aggbug/166952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjjlovewjf/" target="_blank">wǒ愛伱--咾婆 </a> 2007-12-11 15:28 <a href="http://www.blogjava.net/yjjlovewjf/archive/2007/12/11/166952.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby:　Step by Step Study</title><link>http://www.blogjava.net/yjjlovewjf/archive/2007/12/11/166945.html</link><dc:creator>wǒ愛伱--咾婆 </dc:creator><author>wǒ愛伱--咾婆 </author><pubDate>Tue, 11 Dec 2007 07:15:00 GMT</pubDate><guid>http://www.blogjava.net/yjjlovewjf/archive/2007/12/11/166945.html</guid><wfw:comment>http://www.blogjava.net/yjjlovewjf/comments/166945.html</wfw:comment><comments>http://www.blogjava.net/yjjlovewjf/archive/2007/12/11/166945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjjlovewjf/comments/commentRss/166945.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjjlovewjf/services/trackbacks/166945.html</trackback:ping><description><![CDATA[<h4 class="docSection2Title">Keywords and Identifiers</h4>
<p class="docText">The<a name="idd1e3625"></a><a name="idd1e3630"></a> keywords (or reserved words) in Ruby typically cannot be used for other purposes. These are as follows:</p>
<p>
<table cellspacing="0" cellpadding="5" rules="none" width="100%" frame="void">
    <colgroup>
    <col>
    <col>
    <col>
    <col>
    <col></colgroup>
    <thead>
    </thead>
    <tbody>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>BEGIN</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>END</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>alias</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>and</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>begin</tt> </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>break</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>case</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>class</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>def</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>defined</tt> </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>do</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>else</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>elsif</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>end</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>ensure</tt> </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>false</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>for</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>if</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>in</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>module</tt> </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>next</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>nil</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>not</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>or</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>redo</tt> </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>rescue</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>retry</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>return</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>self</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>super</tt> </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>then</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>true</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>undef</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>unless</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>until</tt> </td>
        </tr>
        <tr>
            <td class="docTableCell" valign="top" align="left"><tt>when</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>while</tt> </td>
            <td class="docTableCell" valign="top" align="left"><tt>yield</tt><a name="idd1e3864"></a> </td>
            <td class="docTableCell" valign="top" align="left">&nbsp;</td>
            <td class="docTableCell" valign="top" align="left">&nbsp;</td>
        </tr>
    </tbody>
</table>
</p>
<p class="docText">Variables <a name="idd1e3881"></a><a name="idd1e3886"></a><a name="idd1e3891"></a><a name="idd1e3896"></a>and other identifiers normally start with an alphabetic letter or a special modifier. The basic rules are as follows:</p>
<ul>
    <li>
    <p class="docList">Local variables (and pseudo-variables such as <tt>self</tt> and <tt>nil</tt>) begin with a lowercase letter.</p>
    <li>
    <p class="docList">Global variables begin with a dollar sign<a name="idd1e3918"></a><a name="idd1e3921"></a> (<tt>$</tt>).</p>
    <li>
    <p class="docList">Instance variables (within an object) begin with an "at" sign (<tt>@</tt>).</p>
    <li>
    <p class="docList">Class variables (within a class) begin with two "at" signs (<tt>@@</tt>).</p>
    <li>
    <p class="docList">Constants begin with capital letters.</p>
    </li>
</ul>
<p class="docText">For purposes of forming identifiers, the <a name="idd1e3951"></a><a name="idd1e3954"></a>underscore (<tt>_</tt>) may be used as a lowercase letter. Special variables starting with a dollar sign (such as <tt>$1</tt> and <tt>$/</tt>) are not dealt with here.</p>
<p class="docText">The following list provides some examples:</p>
<ul>
    <li>
    <p class="docList">Local variables: <tt>alpha</tt>, <tt>_ident</tt>, <tt>some_var</tt></p>
    <li>
    <p class="docList">Pseudo-variables: <tt>self</tt>, <tt>nil</tt>, <tt>__FILE__</tt></p>
    <li>
    <p class="docList">Constants: <tt>K6chip</tt>, <tt>Length</tt>, <tt>LENGTH</tt></p>
    <li>
    <p class="docList">Instance variables: <tt>@foobar</tt>, <tt>@thx1138</tt>, <tt>@NOT_CONST</tt></p>
    <li>
    <p class="docList">Class variable: <tt>@@phydeaux</tt>, <tt>@@my_var</tt>, <tt>@@NOT_CONST</tt></p>
    <li>
    <p class="docList">Global variables: <tt>$beta</tt>, <tt>$B12vitamin</tt>, <tt>$NOT_CONST</tt><a name="idd1e4044"></a><a name="idd1e4049"></a><a name="idd1e4054"></a><a name="idd1e4059"></a></p>
    </li>
</ul>
<br />
<img src ="http://www.blogjava.net/yjjlovewjf/aggbug/166945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjjlovewjf/" target="_blank">wǒ愛伱--咾婆 </a> 2007-12-11 15:15 <a href="http://www.blogjava.net/yjjlovewjf/archive/2007/12/11/166945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>