﻿<?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-Thinking in XiaoQiang-随笔分类-ruby</title><link>http://www.blogjava.net/uiiang/category/13398.html</link><description>世人皆有悲哀，只有你不明白</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 06:36:27 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 06:36:27 GMT</pubDate><ttl>60</ttl><item><title>Install Ruby on Rails , Lighttpd,Sqlite3 and Mongrel under Ubuntu</title><link>http://www.blogjava.net/uiiang/archive/2006/10/30/78089.html</link><dc:creator>小强</dc:creator><author>小强</author><pubDate>Mon, 30 Oct 2006 09:09:00 GMT</pubDate><guid>http://www.blogjava.net/uiiang/archive/2006/10/30/78089.html</guid><wfw:comment>http://www.blogjava.net/uiiang/comments/78089.html</wfw:comment><comments>http://www.blogjava.net/uiiang/archive/2006/10/30/78089.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/uiiang/comments/commentRss/78089.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/uiiang/services/trackbacks/78089.html</trackback:ping><description><![CDATA[转自:http://blog.rubypdf.com/2006/10/20/install-ruby-on-rails-lighttpdsqlite3-and-mongrel-under-ubuntu/<br /><br /><p>nothing but the script I used:<br />#install Mysql<br />apt-get install mysql-server</p><p>#install Ruby and relative<br />apt-get install irb libdbm-ruby1.8 libgdbm-ruby1.8 libmysql-ruby1.8 libmysqlclient14 libopenssl-ruby1.8 libruby1.8-dbg mysql-common ri ri1.8 ruby1.8-dev</p><p>#install rubygems<br />wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz<br />tar zxfv rubygems-0.9.0.tgz<br />cd rubygems-0.9.0<br />ruby setup.rb<br />gem update –system</p><p>#install Rails and dependencies<br />gem install rails –include-dependencies</p><p>#before install Mongrel,<br />apt-get install install build-essential #we need it to compile mongrel and Sqlite3</p><p>#intall Mongrel<br />gem install mongrel –include-dependencies</p><p>#install Sqlite3<br />apt-get install sqlite3 swig libsqlite3-ruby libsqlite3-dev<br />gem install sqlite3-ruby #compile this need libsqlite.h</p><p>#install Lighttpd<br />apt-get install lighttpd</p><p>some useful link<br />http://mongrel.rubyforge.org/docs/lighttpd.html<br />http://fo64.com/articles/2005/10/20/rails-on-breezy<br />http://scottstuff.net/blog/articles/2006/07/23/typo-installer</p><img src ="http://www.blogjava.net/uiiang/aggbug/78089.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/uiiang/" target="_blank">小强</a> 2006-10-30 17:09 <a href="http://www.blogjava.net/uiiang/archive/2006/10/30/78089.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Install Ruby Rails on Ubuntu Dapper Drake</title><link>http://www.blogjava.net/uiiang/archive/2006/10/30/78088.html</link><dc:creator>小强</dc:creator><author>小强</author><pubDate>Mon, 30 Oct 2006 09:07:00 GMT</pubDate><guid>http://www.blogjava.net/uiiang/archive/2006/10/30/78088.html</guid><wfw:comment>http://www.blogjava.net/uiiang/comments/78088.html</wfw:comment><comments>http://www.blogjava.net/uiiang/archive/2006/10/30/78088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/uiiang/comments/commentRss/78088.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/uiiang/services/trackbacks/78088.html</trackback:ping><description><![CDATA[
		<p>转自:http://www.urbanpuddle.com/articles/2006/06/10/install-ruby-rails-on-ubuntu-dapper-drake<br /><br />This is a small guide I wrote up to installing Ruby on Rails on Dapper Drake. It covers getting lighttpd running to support both rails and php which will be useful to anyone who likes to use phpmyadmin along with ruby on rails. It's similar to the <a href="http://www.urbanpuddle.com/articles/2006/03/17/setting-up-a-mixed-ruby-on-rails-dev-environment">article I wrote earlier for Arch Linux</a> except modified for Ubuntu's Dapper Drake release.</p>
		<p>1. Make sure the universe repository in /etc/apt/sources.list is uncommented:<br />deb http://us.archive.ubuntu.com/ubuntu dapper universe<br />deb-src http://us.archive.ubuntu.com/ubuntu dapper universe</p>
		<p>2. Make sure you are up to date:<br /><i>sudo apt-get update<br />sudo apt-get dist-upgrade<br /></i></p>
		<p>3. Install the ruby base packages:<br /><i>sudo apt-get install ruby ri rdoc mysql-server libmysql-ruby <br /></i></p>
		<p>4. We need to grab the latest ruby gems from rubyforge. You may need to modify this command if a version after 0.90 is available.<br /><i>sudo wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz<br />tar -xvzf rubygems-0.9.0.tgz<br />cd rubygems-0.9.0<br />sudo ruby setup.rb</i></p>
		<p>5. Now let's install Ruby on Rails!<br /><i>sudo gem install rails --include-dependencies</i></p>
		<p>6. We have Rails but we still need lighttpd and mysql. I've thrown in PHP too in case you want to manage your database with phpmyadmin like I do. Let's grab all the packages, shall we?<br /><i>sudo apt-get install lighttpd php5-cgi php4-cgi php5-mysql php5-mysqli php4-mysql libfcgi-dev libfcgi-ruby1.8</i></p>
		<p>7. Modify your /etc/lighttpd/lighttpd.conf file to set up your domains. Be careful because by default Ubuntu maps all the images so that they are taken from /usr/share/images instead of your/rails/root/public/images so if you're wondering why your rails app is working but your images aren't being displayed this is why. You can take out the offending code in your lighttpd.conf or just put your images in /usr/share/images.</p>
		<p>8. Time to enable some modules for lighttpd. There are others that you may need but they should be enabled in your lighttpd.conf. Personally, I'm not a fan of enabling modules two different ways but I'm sure this will get cleaned up eventually.<br /><i>sudo /usr/sbin/lighty-enable-mod fastcgi<br />sudo /usr/sbin/lighty-enable-mod proxy<br />sudo /etc/init.d/lighttpd force-reload</i></p>
		<p>9. Let's make sure that there are no errors by stopping lighttpd and then starting it manually:<br /><i>sudo /etc/init.d/lighttpd stop<br />sudo lighttpd -f /etc/lighttpd/lighttpd.conf</i></p>
		<p>If you have errors there make sure you take a look and try to address them! The output you see will be your best bet in getting help from somebody on one of the forums.</p>
		<p>10. Install some basic gems you might need to run your rails app:<br /><i>sudo gem install actionmailer<br />sudo gem install activesupport<br />sudo gem install actionpack<br />sudo gem install actionwebservice<br /></i></p>And now you should have a new, shiny, ready to go Ubuntu Dapper Drake server just waiting for your PHP or Ruby on Rails applications!<img src ="http://www.blogjava.net/uiiang/aggbug/78088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/uiiang/" target="_blank">小强</a> 2006-10-30 17:07 <a href="http://www.blogjava.net/uiiang/archive/2006/10/30/78088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A Guide to Testing the Rails</title><link>http://www.blogjava.net/uiiang/archive/2006/10/30/78032.html</link><dc:creator>小强</dc:creator><author>小强</author><pubDate>Mon, 30 Oct 2006 06:00:00 GMT</pubDate><guid>http://www.blogjava.net/uiiang/archive/2006/10/30/78032.html</guid><wfw:comment>http://www.blogjava.net/uiiang/comments/78032.html</wfw:comment><comments>http://www.blogjava.net/uiiang/archive/2006/10/30/78032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/uiiang/comments/commentRss/78032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/uiiang/services/trackbacks/78032.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: A Guide to Testing the Rails		Intended Audience		This article is for fellow Rubyists looking for more information on test writing and how that fits into Ruby On Rails. If you’re new to test writin...&nbsp;&nbsp;<a href='http://www.blogjava.net/uiiang/archive/2006/10/30/78032.html'>阅读全文</a><img src ="http://www.blogjava.net/uiiang/aggbug/78032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/uiiang/" target="_blank">小强</a> 2006-10-30 14:00 <a href="http://www.blogjava.net/uiiang/archive/2006/10/30/78032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Capistrano: Automating Application Deployment</title><link>http://www.blogjava.net/uiiang/archive/2006/10/30/78033.html</link><dc:creator>小强</dc:creator><author>小强</author><pubDate>Mon, 30 Oct 2006 06:00:00 GMT</pubDate><guid>http://www.blogjava.net/uiiang/archive/2006/10/30/78033.html</guid><wfw:comment>http://www.blogjava.net/uiiang/comments/78033.html</wfw:comment><comments>http://www.blogjava.net/uiiang/archive/2006/10/30/78033.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/uiiang/comments/commentRss/78033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/uiiang/services/trackbacks/78033.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Capistrano: Automating Application Deployment		Application deployment is one of those things that becomes more and more complicated as the scale of your application increases. With just a single box...&nbsp;&nbsp;<a href='http://www.blogjava.net/uiiang/archive/2006/10/30/78033.html'>阅读全文</a><img src ="http://www.blogjava.net/uiiang/aggbug/78033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/uiiang/" target="_blank">小强</a> 2006-10-30 14:00 <a href="http://www.blogjava.net/uiiang/archive/2006/10/30/78033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby</title><link>http://www.blogjava.net/uiiang/archive/2006/07/24/59860.html</link><dc:creator>小强</dc:creator><author>小强</author><pubDate>Mon, 24 Jul 2006 09:39:00 GMT</pubDate><guid>http://www.blogjava.net/uiiang/archive/2006/07/24/59860.html</guid><wfw:comment>http://www.blogjava.net/uiiang/comments/59860.html</wfw:comment><comments>http://www.blogjava.net/uiiang/archive/2006/07/24/59860.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/uiiang/comments/commentRss/59860.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/uiiang/services/trackbacks/59860.html</trackback:ping><description><![CDATA[
		<span class="title">Ruby是何方神圣?</span>
		<div class="body">
				<div class="section">
						<p>Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程.Ruby使文本处理和系统管理变得简单，与Perl非常相似.一句话：简单明了，扩展性强，移植性好.</p>
						<h3>Ruby的几大亮点:</h3>
						<ul>
								<li>语法简单 
</li>
								<li>垃圾回收 
</li>
								<li>可移植性 
</li>
								<li>动态载入 
</li>
								<li>完全免费 
</li>
								<li>正则表达式 </li>
						</ul>
				</div>
		</div>
		<h2>
				<span class="title">走向世界的Ruby</span>
		</h2>
		<div class="body">
				<div class="section">
						<p>松本行弘"Matz"(Matsumoto Yukihiro)是Ruby语言的发明人，他从1993年起便开始着手Ruby的研发工作。他一直想发明一种语言，使你既能进行高效开发又能享受编程的快乐。1993年2月24日Ruby诞生了，1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。不久Ruby便凭借其独特的魅力横扫日本，相信在不久的将来，Ruby将走向世界。</p>
						<h2>
								<span class="date">
										<a href="http://rubycn.ce-lab.net/20020102.html">#</a>
								</span>
								<span class="title">下载</span>
						</h2>
						<div class="body">
								<div class="section">
										<h3>如何取得Ruby</h3>
										<ul>
												<li>您可以从各个镜像站点下载稳定版<a href="http://www.ruby-lang.org/download-1.8.1.rbx">ruby 1.8.1</a>。 
</li>
												<li>您还可以下载下一个稳定版本的预览版<a href="ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.2-preview1.tar.gz">ruby 1.8.2 preview1</a>。 
</li>
												<li>我们用tar.gz把当前<a href="ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz">CVS稳定版快照</a>(Fri Jul 30 04:00:51 JST 2004)保存下来。这是在1.8系列稳定版的基础上打了补丁的版本。若您需要比最终版本还要稳定的版本的话，就请下载使用。 
</li>
												<li>每天晚上，我们都会用tar.gz把当时的<a href="ftp://ftp.ruby-lang.org/pub/ruby/snapshot.tar.gz">CVS最新版快照</a>(Fri Jul 30 04:00:25 JST 2004)保存下来。因为保存快照时没有作任何修改，所以可能会有一些问题。请您斟酌使用。 
</li>
												<li>我们使用tar.gz把当前的<a href="ftp://ftp.ruby-lang.org/pub/ruby/snapshot-1.6.tar.gz">1.6系列快照</a>(Fri Jul 30 04:01:11 JST 2004)保存下来。该最新版本修正了1.6系列最终版本的所有错误。若您暂时无法升级到1.8系列，却又想修正1.6最终版本的错误时，就请使用该版本。 
</li>
												<li>请参考<a href="http://rubycn.ce-lab.net/20020106.html">CVS指南</a>来了解使用匿名CVS获得最新源码的方法。 </li>
										</ul>
										<h3>可下载项目</h3>
										<ul>
												<li>
														<a href="ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.1.tar.gz">Ruby version 1.8.1</a>
												</li>
												<li>
														<a href="ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.2-preview1.tar.gz">Ruby version 1.8.2 preview1</a>
												</li>
												<li>
														<a href="http://www.ruby-lang.org/ja/man/man-rd-ja.tar.gz">Ruby 参考手册(日语版)快照</a>
												</li>
												<li>
														<a href="ftp://ftp.ruby-lang.org/pub/ruby/doc/ruby-man-ja-1.6.6-20011225-rd.tar.gz">Ruby 1.6.6 参考手册(日语版)</a>
												</li>
												<li>
														<a href="ftp://ftp.ruby-lang.org/pub/ruby/doc/ruby-man-1.4.6-jp.tar.gz">Ruby 1.4.6 参考手册(日语版)</a>
												</li>
												<li>
														<a href="ftp://ftp.ruby-lang.org/pub/ruby/doc/ruby-man-1.4.6.tar.gz">Ruby 1.4.6 参考手册(英语版)</a>
												</li>
												<li>
														<a href="http://rubycn.ce-lab.net/~rubikitch/refm/">Ruby 1.6 参考手册(日语版)とRDP</a>
												</li>
												<li>Windows版Ruby 
<ul><li style="LIST-STYLE-TYPE: none">请参考<a href="http://www.ruby-lang.org/ja/install.cgi?cmd=view;name=Microsoft+Windows%C8%C7%A4%CE%A5%D3%A5%EB%A5%C8%B4%C4%B6%AD%A4%CB%A4%E8%A4%EB%B0%E3%A4%A4">选择Ruby版本要根据Microsoft Windows版编译环境的不同而定</a>。 
</li><li><a href="http://www.ruby-lang.org/~eban/ruby/binaries/">cygwin,djgpp,mingw</a></li><li><a href="http://www.garbagecollect.jp/ruby/mswin32/">mswin32 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a></li></ul></li>
										</ul>
										<h3>FTP镜像站点</h3>
										<ul>
												<li>
														<a href="ftp://core.ring.gr.jp/pub/lang/ruby/">日本 1 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> 以及<a href="http://www.t.ring.gr.jp/">镜像 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (RingServer) 
</li>
												<li>
														<a href="ftp://ftp.iij.ad.jp/pub/lang/ruby/">日本 2 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (IIJ) 
</li>
												<li>
														<a href="ftp://ftp.idaemons.org/pub/mirror/ftp.ruby-lang.org/ruby/">日本 3 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (idaemons.org) 
</li>
												<li>
														<a href="ftp://ftp.ruby-lang.org/pub/ruby/">日本 4</a> (主力站) - 低速 
</li>
												<li>
														<a href="ftp://ftp.kr.freebsd.org/pub/ruby/">韩国 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (Korea FreeBSD Users Group) 
</li>
												<li>
														<a href="ftp://ftp.fu-berlin.de/unix/languages/ruby/">德国 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (FU Berlin) 
</li>
												<li>
														<a href="ftp://ftp.easynet.be/ruby/ruby/">比利时 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (Easynet) 
</li>
												<li>
														<a href="ftp://ftp.chg.ru/pub/lang/ruby/">俄罗斯 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (ChgNet) 
</li>
												<li>
														<a href="ftp://ftp.ntua.gr/pub/lang/ruby/">希腊 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (雅典工科大) 
</li>
												<li>
														<a href="ftp://sunsite.dk/mirrors/ruby/">丹麦 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (sunsite.dk) 
</li>
												<li>
														<a href="ftp://www.ibiblio.org/pub/languages/ruby/">美国 1 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (ibiblio.org) 
</li>
												<li>
														<a href="ftp://xyz.lcs.mit.edu/pub/ruby/">美国 2 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (lcs.mit.edu) 
</li>
												<li>
														<a href="ftp://gd.tuwien.ac.at/languages/ruby/">澳大利亚 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (tuwien.ac.at) 
</li>
												<li>
														<a href="ftp://ruby.cdpa.nsysu.edu.tw/ruby/">中国台湾 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (cdpa.nsysu.edu.tw) 
</li>
												<li>
														<a href="ftp://mirror.cs.mun.ca/pub/mirror/ruby/">加拿大 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (mirror.cs.mun.ca) </li>
										</ul>
										<h3>HTTP镜像站点</h3>
										<ul>
												<li>
														<a href="http://www.mirror.ac.uk/sites/helium.ruby-lang.org/ruby/">英国 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a>
												</li>
												<li>
														<a href="http://core.ring.gr.jp/archives/lang/ruby/">日本 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> 以及<a href="http://www.t.ring.gr.jp/">镜像 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (RingServer) 
</li>
												<li>
														<a href="http://ruby.mirror.easynet.be/">比利时 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (Easynet) 
</li>
												<li>
														<a href="http://mirrors.sunsite.dk/ruby/">丹麦 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (sunsite.dk) 
</li>
												<li>
														<a href="http://www.xs4all.nl/~hipster/lib/mirror/ruby/">荷兰 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (XS4ALL) - 只有发行版 
</li>
												<li>
														<a href="http://www.ibiblio.org/pub/languages/ruby/">美国 1 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (ibiblio.org) 
</li>
												<li>
														<a href="http://xyz.lcs.mit.edu/ruby/">美国 2 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (lcs.mit.edu) 
</li>
												<li>
														<a href="http://www.binarycode.org/ruby/">美国 3 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (binarycode.org) 
</li>
												<li>
														<a href="http://gd.tuwien.ac.at/languages/ruby/">澳大利亚 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (tuwien.ac.at) 
</li>
												<li>
														<a href="http://pluto.cdpa.nsysu.edu.tw/ruby/">中国台湾 <img class="ext" height="9" alt="" src="http://rubycn.ce-lab.net/ext.png" width="9" /></a> (cdpa.nsysu.edu.tw) </li>
										</ul>
										<h3>Rsync镜像站点</h3>
										<ul>
												<li>rsync://sunsite.dk/ftp/mirrors/ruby/ (丹麦) 
</li>
												<li>rsync://rsync.idaemons.org/ftp/mirror/ftp.ruby-lang.org/ruby/ (日本) 
</li>
												<li>rsync://gd.tuwien.ac.at/languages/ruby/ (澳大利亚) 
</li>
												<li>rsync://mirror.cs.mun.ca/ruby/ (加拿大) </li>
										</ul>
								</div>
						</div>
				</div>
		</div>
		<div>
				<h2>
						<span class="date">
								<a href="http://rubycn.ce-lab.net/20020107.html">#</a>
						</span>
						<span class="title">下载：文档</span>
				</h2>
				<div class="body">
						<div class="section">
								<dl>
										<dt>Ruby 1.6 参考手册(日语版) 
</dt>
										<dd>
												<a href="ftp://ftp.ruby-lang.org/pub/ruby/doc/ruby-man-ja-1.6.6-20011225-rd.tar.gz">下载发行版</a>
										</dd>
										<dd>
												<a href="http://rubycn.ce-lab.net/~rubikitch/refm/">下载最新版</a>
										</dd>
										<dt>Ruby 1.4 参考手册(英语版) 
</dt>
										<dd>
												<a href="ftp://ftp.ruby-lang.org/pub/ruby/doc/ruby-man-1.4.6.tar.gz">下载</a>
										</dd>
										<dt>Ruby 1.4 参考手册(日语版) 
</dt>
										<dd>
												<a href="ftp://ftp.ruby-lang.org/pub/ruby/doc/ruby-man-1.4.6-jp.tar.gz">下载</a>
										</dd>
										<dt>Ruby教程(日语版) 
</dt>
										<dd>
												<a href="ftp://ftp.ruby-lang.org/pub/ruby/doc/ruby-tutorial-980128.tar.gz">下载</a>
										</dd>
										<dt>Ruby用户指南(日语版) 
</dt>
										<dd>
												<a href="ftp://ftp.ruby-lang.org/pub/ruby/doc/ruby-uguide-980206.tar.gz">下载</a>
										</dd>
								</dl>
						</div>
				</div>
		</div>
		<h2>
				<span class="date">
						<a href="http://rubycn.ce-lab.net/20020310.html">#</a>
				</span>
				<span class="title">Ruby教程</span>
		</h2>
		<div class="body">
				<div class="section">
						<h3>在编程中学Ruby</h3>
						<ul>
								<li>
										<a href="http://rubycn.ce-lab.net/20020311.html">Ruby概述</a>
								</li>
								<li>
										<a href="http://rubycn.ce-lab.net/20020312.html">Ruby的基础</a>
								</li>
								<li>
										<a href="http://rubycn.ce-lab.net/20020313.html">迈出第一步 - grep</a>
								</li>
								<li>
										<a href="http://rubycn.ce-lab.net/20020314.html">正则表达式</a>
								</li>
								<li>
										<a href="http://rubycn.ce-lab.net/20020315.html">线程</a>
								</li>
						</ul>
				</div>
		</div>
		<div>
				<h2>
						<a id="Ruby.a4.f2.a5.a4.a5.f3.a5.b9.a5.c8.a1.bc.a5.eb.a4.b9.a4.eb.a4.cb.a4.cf.3f" name="Ruby.a4.f2.a5.a4.a5.f3.a5.b9.a5.c8.a1.bc.a5.eb.a4.b9.a4.eb.a4.cb.a4.cf.3f">Ruby安装方法分类</a>
				</h2>
				<p>大体说来，Ruby的安装方法可分为两类。</p>
				<p>第一种方法，自己编译源代码然后开始安装。在UNIX系列OS(Linux、NetBSD、FreeBSD、Solaris、HP-UX以及Windows中的Cygwin等等)平台上采用这种方式安装时，操作方法大同小异且简便快捷。在Windows环境中，编译环境的不同会带来功能上的差异(请参考「不同的Microsoft Windows编译环境所引起的差异」)。</p>
				<p>另一种方法就是使用针对不同平台开发的各种便利的安装工具。若您“不想编译”或者想使用软件包来安装Ruby的相关软件的话，我们推荐您使用这种方法。Linux环境下可以使用RPM或deb，若是FreeBSD的话则可以使用ports/packages等。但是，您必须拥有root权限才能使用软件包进行安装。若您想安装到自己的主目录里的话，就必须自己编译源代码。</p>
				<p>Windows上的安装方法有点特殊。在cygwin、mswin32或mingw这三种不同的编译环境下，使用的安装方法也不一样。若您并不熟悉UNIX的话，我们建议您使用mingw或mswin32。</p>
				<p>此外在您编译源代码时，您可以使用CVS以获得最新版的源代码。</p>
				<p>这里我们只介绍了一些典型的安装方法，实际上，Ruby还可以支持很多其他的平台。而且Ruby每天都会得到改进，因此本文件中的某些描述可能已经与实际情况有所不同。若您发现我们的描述有误或与实际情况不符的话，请您指正。同时若您有其他平台上的相关信息的话，也请您补足。如您所见，我们采用的是专人维护制度。当您想帮我们补充资料的时候，请参考「RWiki的RD」。</p>
				<h2>
						<a id="a.a4.e2.a4.af.a4.b8" name="a.a4.e2.a4.af.a4.b8">目录</a>
				</h2>
				<h3>
						<a id="a.a5.d7.a5.e9.a5.c3.a5.c8.a5.d5.a5.a9.a1.bc.a5.e0.ca.cc.a5.a4.a5.f3.a5.b9.a5.c8.a1.bc.a5.eb.a5.ac.a5.a4.a5.c9" name="a.a5.d7.a5.e9.a5.c3.a5.c8.a5.d5.a5.a9.a1.bc.a5.e0.ca.cc.a5.a4.a5.f3.a5.b9.a5.c8.a1.bc.a5.eb.a5.ac.a5.a4.a5.c9">按平台分类的安装指南</a>
				</h3>
				<p>(字母顺序)</p>
				<ul>
						<li>Alpha Machine 
</li>
						<li>Borland C++ (从源代码开始) 
</li>
						<li>BTRON .超汉字 
</li>
						<li>Cygwin (binary) 
</li>
						<li>Cygwin (从源代码开始) 
</li>
						<li>Debian GNU/Linux 
</li>
						<li>EWS4800 
</li>
						<li>FreeBSD 
</li>
						<li>HP-UX 
</li>
						<li>Kondara MNU/Linux 
</li>
						<li>MacOS X 
</li>
						<li>mingw32 (binary) 
</li>
						<li>mingw32 (从源代码开始) 
</li>
						<li>MS-DOS 
</li>
						<li>mswin32 (binary) 
</li>
						<li>mswin32 (从源代码开始) 
</li>
						<li>NetBSD 
</li>
						<li>OS/2 
</li>
						<li>Vine Linux 
</li>
						<li>
								<a class="modified-old" title="RPM系列Linux平台 (710d)" href="http://rubycn.ce-lab.net/install_rpm_linux.html">RPM系列Linux平台</a>
						</li>
						<li>
								<a class="modified-year" title="UNIX平台 (216d)" href="http://rubycn.ce-lab.net/install_unix.html">UNIX平台</a>
						</li>
						<li>用CVS保持更新 </li>
				</ul>
				<h3>
						<a id="Windows.a5.e6.a1.bc.a5.b6.a4.ce.a4.bf.a4.e1.a4.cb" name="Windows.a5.e6.a1.bc.a5.b6.a4.ce.a4.bf.a4.e1.a4.cb">Windows用户提示</a>
				</h3>
				<ul>
						<li>
								<a href="http://rubycn.ce-lab.net/install_setpath.html">Windows下PATH的设定方法</a>
						</li>
						<li>
								<a href="http://rubycn.ce-lab.net/install_whatbuilt.html">不同的Microsoft Windows编译环境所引起的差异</a>
						</li>
						<li>
								<a href="http://rubycn.ce-lab.net/install_beginner.html">面向初学者的Ruby安装指南</a>
						</li>
						<li>各binary的共存方法 
</li>
						<li>交叉编译 </li>
				</ul>
				<h3>
						<a id="a.b3.ab.c8.af.bb.d9.b1.e7.b4.c4.b6.ad" name="a.b3.ab.c8.af.bb.d9.b1.e7.b4.c4.b6.ad">开发环境</a>
				</h3>
				<ul>
						<li>emacs + ruby-mode 
</li>
						<li>xyzzy + ruby-mode 
</li>
						<li>irb 
</li>
						<li>irbsh 
</li>
						<li>ReFe 
</li>
						<li>Copal 
</li>
						<li>RDE 
</li>
						<li>RubyWin </li>
				</ul>
		</div>
<img src ="http://www.blogjava.net/uiiang/aggbug/59860.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/uiiang/" target="_blank">小强</a> 2006-07-24 17:39 <a href="http://www.blogjava.net/uiiang/archive/2006/07/24/59860.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby 基础</title><link>http://www.blogjava.net/uiiang/archive/2006/07/24/59859.html</link><dc:creator>小强</dc:creator><author>小强</author><pubDate>Mon, 24 Jul 2006 09:36:00 GMT</pubDate><guid>http://www.blogjava.net/uiiang/archive/2006/07/24/59859.html</guid><wfw:comment>http://www.blogjava.net/uiiang/comments/59859.html</wfw:comment><comments>http://www.blogjava.net/uiiang/archive/2006/07/24/59859.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/uiiang/comments/commentRss/59859.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/uiiang/services/trackbacks/59859.html</trackback:ping><description><![CDATA[
		<div style="BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center">
				<font size="5">Ruby 基础<br /><br /></font>
		</div>
		<div style="BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center">作者：Ralf Wirdemann, Thomas Baustert<br /></div>
		<div style="BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center">www.b-simple.de<br /></div>
		<div style="BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center">2006.2.14<br /></div>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<font style="BACKGROUND-COLOR: rgb(255,255,255)" size="3">1.1 在线文档和书籍</font>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    语言资料上，如果要找核心和标准API的文档可以去 www.ruby-lang.org，深步进阶我们推荐下面的书籍：</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">Dave Thomas: Programming Ruby, Second Edition, Pragmatic Bookshelf, 2005</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">Ruby书籍中的标准著作，极具推荐价值。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">Hal Fulton: The Ruby Way, Sams, 2001 </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">这部书不仅仅有Ruby语言的最新状况，还提供了一百个案例，很有意思。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<font style="BACKGROUND-COLOR: rgb(255,255,255)" size="3">1.2 引言</font>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    Ruby 是一个纯粹的面向对象的动态型语言。Ruby 程序不是被编译成二进制格式(如Java)，而是直接由一个解释器来处理。这门语言在1995年由松本行弘（Matsumoto Yukihiro）发布，除了 Smalltalk、Python 等语言以外，Perl 对它的影响是首当其冲的。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    Ruby 里的一切都是对象，它没有原始类型(如Java)。除了面对对象，Ruby还提供了垃圾回收、异常、正则表达式，为迭代器和方法作参数的“代码块”，运行期的类扩展，线程及更多的东西。Ruby 语言易懂易用，原因在于它简单、语法干净。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<font style="BACKGROUND-COLOR: rgb(255,255,255)" size="3">1.3 Ruby 程序</font>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    Ruby 程序保存在以 .rb 结尾的文件里。程序内容包含类、模块、或者只是简单的Ruby代码。下面是地球人都知道的 Hello World 程序：</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)"># hello.rb                         </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">puts "Hello World!"                </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    如果这个代码是以 hello.rb 的文件名保存的，那么可以这样调用：</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">&gt; ruby hello.rb                    </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">&gt; Hello World!                     </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    在Windows下允许您以文件关联的方式在IE中执行；在 Linux/Unix 下您可按照自已的操作系统情况使用 Shebang行：</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">#!/usr/local/bin/ruby              </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">puts "Hello World!"                </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">                                   </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">#!/usr/bin/env ruby                </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">puts "Hello World!"                </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    随后直接执行这个程序：</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">&gt; chmod 744 hello.rb               </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">&gt; ./hello.rb                       </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    Ruby 的语句可以以分号结尾，但不是必须。 Ruby 是一个面向行的语言，也就是说，一个语句不需要以分号结尾，解释器能够明白下一行是进一步的语句。下面前几个语句的输出相同，最后一个是错误的：</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">
				<br />puts "Hello World!";               </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">puts "Hello World!"                </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">puts "Hello " \                    </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">   "World!";                       </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">puts "Hello" +                     </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">   "World!";                       </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">puts "Hello"   # 语句至此结束      <br />   + "World!"; # 无法被解释的新语句</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    多个语句可以用分号隔开写到一行里面，这不是很地道的写法，因为会影响阅读的流畅。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)"># 可行，但不漂亮:                 </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">a = 42; b = 15; c = a + b         </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">#这样比较好:                      </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">a = 42                            </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">b = 15                            </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">c = a + b                         </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    Ruby 以两个空格作为缩进的方式（不用Tab键），这是个推荐习惯并且应该尽可能地得到遵循：</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)"># 非常棒的缩进                    </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">while line = file.readline        </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">  if !comment_line(line)          </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    lines.add(line)               </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">  end                             </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">end                               </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)"># oh～,oh～,您这是和外星人学的吧  </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">while line = file.readline        </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    if !comment_line(line)        </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">        lines.add(line)           </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    end                           </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">end                               </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    Ruby 提供了全系列的标准类型，如数字、字符串、正则表达式、数组、哈希(Hash)，等等。所有这些元素通过类和模块的方式以备使用，无需在程序（文件）中绑定，它们来自于核心库并在整个程序中自动生效。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    另外一些是以其它类和模块构成系列的标准库方式以备使用的，例如 Date、Logger、Test::Unit 等等。一旦要自行开发就必须在每个程序里通过关键字 require 来明确绑定。于是在 require 后加上或有或无结尾(.rb)的文件名。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">require "date"  # date.rb 用到 Date类               </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">require "my_class" # my_class.rb 用到MyClass类      </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">require "my_module" # my_module.rb 用到 MyModule模块</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    对此处文件名的处理不是按绝对路径，Ruby 会在所有的标准目录下寻找这个文件，它们被包含在全局变量$: 里面，您可以在命令行用 ruby -e "puts $:" 或其它方式得到这些路径。一个装载了类和模块的程序里的所有名字都可以通过全局变量 $" 输出。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<font style="BACKGROUND-COLOR: rgb(255,255,255)" size="4">
				<font size="3">1.4 注释</font>
				<br />
				<br />
		</font>
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    在 Ruby 中注释行是以＃号开始的，注释可出现在句首或句尾。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)"># 下面这行是被注释掉的            </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)"># a = b - c                       </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">a = b + c # 注释到行尾            </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    一个注释块开始于 =begin 结束于 =end，这几个关键字必须在行首，不能有空格。</span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">=begin                            </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">  def my_method                   </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">    ...                           </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">  end                             </span>
		<br style="BACKGROUND-COLOR: rgb(255,255,255)" />
		<span style="BACKGROUND-COLOR: rgb(255,255,255)">=end                              <br /><br /><font size="3">1.5 数字</font><br /><br />    Ruby支持整数和浮点数。Ruby 里面没有原始类型，都是数字对象。整数从负2的30次幂到正2的30次幂 (在64位机器上从负2的62次幂到正2的62次幂) 被定义成FixNum类型 超出此范围的整数被定义成BigNum类型，类型的划归与转换是自动完成的，一个数字的长度最终由主存来判定。<br /><br />value = 42 # FixNum                                <br />big_value = 123456789012345678901234567890 # BigNum<br /><br />    数字可以用16进制、8进制或者2进制的数字系统来表示：<br /><br /># 42                              <br />0x2A                              <br />0052                              <br />b101010                           <br /><br />    有相应的数学运算符以供使用，数字的增减用运算符 += 与 -= 来实现， 出自 C 和 Java 的 ++ 与 -- 在 Ruby 里是没有的。<br /><br />a = 2                             <br />b = 3                             <br />c = a + b    # 5                  <br />c = a - b    # -1                 <br />c = a / b    # 0                  <br />c = 2.0 / b  # 0.666666666666667  <br />c = a * b    # 6                  <br />c = a**b     # 2*2*2 = 8          <br />a += 1       # a = 3              <br />a -= 1       # a = 2              <br />a++          # Ruby里非法         <br /><br />    FixNum与BigNum 继承于基类 Integer，以下是可用的函数，是与块(见1.14节)结合的：<br /><br />1.upto(3) { [i] puts i }    # 1 2 3              <br />3.downto(3) { [i] puts i }  # 3 2 1              <br />0.step(10,2) { [i] puts i } # 0 2 4 6 8 10       <br />3.times { puts *42* }       # 42 42 42           <br /><br /><span style="COLOR: rgb(0,0,0)">    浮点数在 Ruby 里是用 Float 类来表示的。像其它语言一样，Ruby 里的浮点也有卷折误差。为了计算精确(如 合值)，建议使用 Ruby 标准库里的 BigDecimal 类，相对于 Float，这个类描述了更为丰富的浮点数并且避开了卷折误差。<br /><br /><font size="3">1.6 字符串 </font><br /> <br />    在 Ruby 里，字符串被放置在两个单引号或双引号之间。引号常会出现在另一个引号里面： <br /> <br />str = "Hello"          # Hello <br />str = "Hello 'Thomas'" # Hello 'Thomas' <br />str = 'Hello'          # Hello <br />str = 'Hello "Thomas"' # Hello "Thomas" <br /> <br />    字符串可以通过 %q 和 %Q 产生，这是为了避免当一个字符串内出现过多的引号或其它符号时会出现这样或那样的错误。%q 产生一个被包含在单引号中的字符串，%Q 产生一个被包含在双引号中的字符串，文本以分隔符为界来限定，分隔符可以是除字母与数字以外的所有符号。 <br /><br />%q{a string} <br />%q(a string) <br />%Q$a string$ <br /> <br />    %Q 可以替换 #{Ausdruck}这样的表达式，而%q不能： <br /> <br />表格1.1 字符串中带双引号的逃脱符 
<table style="WIDTH: 419px; HEIGHT: 119px" cellspacing="1" cellpadding="1" summary="" border="1"><tbody><tr><td><font size="2"><span style="BACKGROUND-COLOR: rgb(255,255,255)"><span style="COLOR: rgb(0,0,0)"></span></span></font><font size="2"><span style="BACKGROUND-COLOR: rgb(255,255,255)"><span style="COLOR: rgb(0,0,0)">\a 响铃 <br />\b 退格 <br />\e 逃脱 <br />\f 换页 <br />\n 换行 <br />\r 回车 </span></span></font></td><td><span style="BACKGROUND-COLOR: rgb(255,255,255)"><span style="COLOR: rgb(0,0,0)"></span></span><span style="BACKGROUND-COLOR: rgb(255,255,255)"><span style="COLOR: rgb(0,0,0)"><font size="2">\s 空格 <br />\t Tab <br />\v 垂直表格跳位 <br />\nnn 八进制 <br />\xnn 十六进制  <br />\cx Control-x</font></span></span></td><td><font size="2"><span style="BACKGROUND-COLOR: rgb(255,255,255)"></span></font><font size="2"><span style="BACKGROUND-COLOR: rgb(255,255,255)"><span style="COLOR: rgb(0,0,0)">\C-x     Control-x <br />\M-x     Meta-x <br />\M-\C-x  Meta-Control-x <br />\x       x <br />#{code}  code </span></span></font></td></tr></tbody></table><br /><br />puts %q{result: #{42.0/3} EUR}     # result: #{42.0/3} EUR <br />puts %Q{result: #{42.0/3} EUR}     # result: 14.0 EUR <br /> <br />    在花括号、圆括号、角括号的情况下字符串是括号括起来的部分，其它则是到那个符号再次出现为止。字符串也可多行显示，Ruby 在此并不清除起始空格符。 <br /> <br />s = %Q@ein String über mehrere  <br /> Zeile mit "" und '' und durch <br />  einen Klammeraffen begrenzt@ <br />puts s <br />=&gt; <br />ein String über mehrere  <br /> Zeile mit "" und '' und durch <br />  einen Klammeraffen begrenzt <br />puts s.inspect <br />=&gt; <br />"ein String \374ber mehrere\n Zeile mit \"\" und '' ... <br />...und durch \n  einen Klammeraffen begrenzt" <br /> <br />     一个表达式的结果可以通过#{Ausdruck}插入到一个字符串中，然而这只有在双引号之间有效。 <br /> <br />"Ergebnis #{42*7/100} %" # Ergebnis       #{2.94} % <br />"Die Anwort ist: #{answer(x)}"            # Die Anwort ist: 42 <br /> <br />    如C与Java所惯用的，特殊符号由斜杠逃脱，表1.1列举了所有的特殊符号： <br /> <br />"Ein Slash: \\"              # Ein Slash: \ <br />"Er rief: \"Ralf!\""         # Er rief: "Ralf!" <br />'War\'s okey?'               # War\'s okey? <br />"Neue\nZeile"                # Neue <br />                             #Zeile <br />'Neue\nZeile'                # Neue\nZeile <br /> <br />    两个字符串的内容可以用 == 方法来比较，与之相对照的是 equal? ，它用来判断是否是同一个字符串实例（参看1.15.5节）： <br /> <br />s1 = "Thomas" <br />s2 = "Thomas" <br />s3 = "Ralf" <br />s1 == s2 # =&gt; true <br />s1 == s3 # =&gt; false <br />s1.equal? s1 =&gt; true <br />s1.equal? s2 =&gt; false <br />s1.equal? s3 =&gt; false <br /> <br />    字符串可以用+和&lt;&lt;这两个方法连接。使用 * 可实现多重累加。 <br /> <br />"Thomas" + "/Ralf"    # Thomas/Ralf <br />s = "Thomas"  <br />s &lt;&lt; " und Ralf"      # Thomas und Ralf <br />"Ralf " * 2           # Ralf Ralf <br /> <br /> <br />    字符串类提供了大量的方法，让你随心所欲，下面是几个例子； <br /> <br />s = "Thomas und Ralf" <br />s[3]                  # 109 <br />s[3].chr              # m <br />s[7,3]                # und <br />s[0..6]               # Thomas <br /> <br />"Thomas und Ralf".delete("a")         # Thoms und Rlf <br />"Thomas und Ralf".delete("aou")       # Thms nd Rlf <br /><br />"Thomas und Ralf".gsub("und", "oder") # Thomas oder Ralf <br />"Thomas und Ralf".gsub(/[aou]/, "$")  # Th$m$s $nd R$lf <br /> <br />"Thomas und Ralf".index('a')          # 4 <br />"Thomas und Ralf".index('a',5)        # 12 <br /> <br />"Thomas und Ralf".split               # ["Thomas", "und", "Ralf"] <br /> <br />    为字符串转换成整数和浮点数提供两种途径，安全一些的是使用核心方法 Integer 和 Float, 它们在出错的时候抛出异常; 另一种是 String 类的方法 to_i 和 to_f，限制较少 。 <br /><br />"42".to_i            # =&gt; 42 <br />nil.to_i             # =&gt; 0 <br />"42x".to_i           # =&gt; 42 <br />Integer("42")        # =&gt; 42 <br />Integer(nil)         # =&gt; 0 <br />Integer("42x")       # =&gt; 参数错误</span></span>
<img src ="http://www.blogjava.net/uiiang/aggbug/59859.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/uiiang/" target="_blank">小强</a> 2006-07-24 17:36 <a href="http://www.blogjava.net/uiiang/archive/2006/07/24/59859.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>