﻿<?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-风香园-随笔分类-Ruby</title><link>http://www.blogjava.net/wuxufeng8080/category/22360.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 12 May 2007 21:03:23 GMT</lastBuildDate><pubDate>Sat, 12 May 2007 21:03:23 GMT</pubDate><ttl>60</ttl><item><title>Ruby 基础语法</title><link>http://www.blogjava.net/wuxufeng8080/archive/2007/05/12/116926.html</link><dc:creator>风人园</dc:creator><author>风人园</author><pubDate>Sat, 12 May 2007 01:00:00 GMT</pubDate><guid>http://www.blogjava.net/wuxufeng8080/archive/2007/05/12/116926.html</guid><description><![CDATA[<h3>Ruby的注释</h3>
<p>Ruby的注释是指从#开始到该行结束。</p>
<h3>Ruby的表达式</h3>
<p>Ruby的表达式包括下列内容（主要的）。</p>
<dl>
<dt>字符串
<dd>字符串是指被单引号(')或双引号(")括起来的部分。在用双引号括起来的字符串中，可以使用反斜杠(\)来指定转义字符，这同C语言是一样的。同时，以#{}括起来的表达式的结果也被置入其中。
<dt>数值
<dd>整数，浮点数。
<dt>数组／散列表
<dd>用[]括起来的一串表达式是数组，而以{}括起来的一串表达式是散列表。
<dd>散列表是一种可以把任意类型的对象都当成索引的数组。散列表有时也叫做哈希表或辞典。
<dt>变量／常数
<dd>Ruby中有常数和3种变量。变量和常数的区别在于第一个字符有所不同。
<dl>
<dt>局部变量
<dd>变量名以小写英文字母开始。使用时，需要以赋值的方式进行初始化。
<dt>全局变量
<dd>以$开始。未初始化的值为nil。
<dt>实例变量
<dd>以@开始。未初始化的值为nil。
<dt>类变量
<dd>以@@开始。未初始化的值为nil。
<dt>类常数
<dd>以大写英文字母开始。未初始化的值为nil。 </dd></dl>
<dt>赋值
<dd>变量赋值方法如下。
<pre>变量=表达式
</pre>
<dt>调用方法（函数）
<dd>执行对象固有操作（方法）的方法如下
<pre>表达式.方法名
表达式.方法名(表达式..)
</pre>
<dd>在不引起混淆的情况下，可以省略参数的括号。
<dd>调用某方法执行主体self的方法时，可以省略最开始的表达式。
<pre>方法名
方法名(表达式..)
</pre>
<dd>区分无参数的方法调用和局部变量的方法是看看有没有赋值过程。
<dt>操作符表达式
<dd>普通的算式可以用(基本上与C语言一样的)操作符来表示。但内部是把操作符当作方法调用(以操作符作为方法名)来处理的。 </dd></dl>
<h3>Ruby的语句</h3>
<p>Ruby使用分号(;)或换行来分隔表达式，表达式串起来构成语句。语句的值取决于最后执行的表达式的值。</p>
<h3>Ruby的流程控制结构</h3>
<p>Ruby中可以使用下列流程控制结构。</p>
<ul>
    <li>if表达式 then代码块 [elsif表达式 then代码块]..[else代码块]end
    <li>case表达式when表达式..;代码块...[else代码块]end
    <li>while表达式;代码块end
    <li>for变量..in表达式;代码块end</li>
</ul>
<p>if和while的意思与通常的语言基本相同。可以使用分号或换行来代替if代码块中的then。请注意Ruby使用elsif代替C语言中的else if。</p>
<p>case是把若干个比较归为一体的控制结构。</p>
<p>for可以使用循环把数组等的元素分别赋值给变量。</p>
<h3>循环内可以使用下列语句。</h3>
<dl>
<dt>break
<dd>中断循环（相当于C语言的break）。
<dt>next
<dd>开始下一次循环（相当于C语言的continue）。
<dt>redo
<dd>重新执行块的第一行。 </dd></dl>
<h3>常用的语句</h3>
<p>介绍几个Ruby程序中常用的语句。这些语句是对象类的方法，可以在任何类中使用，就如同使用函数一样。</p>
<dl>
<dt><samp>exit([status])</samp>
<dd>结束程序的运行。若为status指定了一个整数的话，该整数就成为结束status。默认的status值为0。
<dt><samp>gets</samp>
<dd>从命令行参数指定的文件(群)中读取一行，然后把该行的内容作为字符串返回。若没有制定命令行参数的话，则从标准输入中读取。读取的字符串可以被赋值给变量$_。遇到文件结束返回nil(伪)。
<pre>while gets
...
end
</pre>
<dd>上面就是典型的用法。
<dt><samp>open(文件名[,mode])</samp>
<dd>打开文件。mode是字符串，就和C的fopen一样。省略时以读取模式打开。
<dt><samp>print</samp>
<dd>输出函数。按顺序将参数输出到标准输出上。省略参数时则输出变量$_的值。</dd></dl>
<img src ="http://www.blogjava.net/wuxufeng8080/aggbug/116926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wuxufeng8080/" target="_blank">风人园</a> 2007-05-12 09:00 <a href="http://www.blogjava.net/wuxufeng8080/archive/2007/05/12/116926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ruby 入门</title><link>http://www.blogjava.net/wuxufeng8080/archive/2007/05/11/116803.html</link><dc:creator>风人园</dc:creator><author>风人园</author><pubDate>Fri, 11 May 2007 09:14:00 GMT</pubDate><guid>http://www.blogjava.net/wuxufeng8080/archive/2007/05/11/116803.html</guid><wfw:comment>http://www.blogjava.net/wuxufeng8080/comments/116803.html</wfw:comment><comments>http://www.blogjava.net/wuxufeng8080/archive/2007/05/11/116803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wuxufeng8080/comments/commentRss/116803.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wuxufeng8080/services/trackbacks/116803.html</trackback:ping><description><![CDATA[1、安装及配置<br>2、HelloWorld
<img src ="http://www.blogjava.net/wuxufeng8080/aggbug/116803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wuxufeng8080/" target="_blank">风人园</a> 2007-05-11 17:14 <a href="http://www.blogjava.net/wuxufeng8080/archive/2007/05/11/116803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>