ruby的基础语法

一、注释与分行 

Ruby中的注释有单行与多行两种,例如:

Ruby代码


  1. puts 

    '以下是单行注释' 

     

  2. 这行是单行注释,单行注释用"#"  

     

  3. =begin 

     

     

  4.  

     

    多行注释可以用"=begin"和"=end" 

     

  5.  

     

    实际上,这也是Ruby的内嵌文档(Rdoc)注释,类似javadoc,可以用命令ri从源文件生产文档。 

     

     

  6. =end 

     

  7. puts 

    '=begin 

    和 

    =end 

    之前的是多行注释' 

     

puts '以下是单行注释' # 这行是单行注释,单行注释用"#" =begin 多行注释可以用"=begin"和"=end" 实际上,这也是Ruby的内嵌文档(Rdoc)注释,类似javadoc,可以用命令ri从源文件生产文档。 =end puts '=begin 和 =end 之前的是多行注释'

 

结果:

以下是单行注释

=begin 和 =end 之前的是多行注释

 

注:Rdoc是内嵌在ruby代码之中的,可以转换为html文档说明。类似javadoc。

ri是一个命令行程序,用来查看函数说明、类说明。函数说明、类说明应该放置在"=begin"和"=end"之中。"=begin"一定要写在行首,也就是说,这一行的前六个字符是"=begin",不允许有空格在这之前。

Ruby 中用分号";"来表示一个语句的结束。一行如果有多个语句,每个语句用分号隔开,而最后一个语句可以省略分号。换行符表示一行结束。

 

如果语句太长,可以用"\"连接行。例如:

Ruby代码


  1.  

    "行连接开始>>>" 

    \  

     

  2. "<<<结束" 

     

     

p "行连接开始>>>" \ "<<<结束"

 

结果:

行连接开始>>><<<结束

二、关键字、运算符、分隔符

 

关键字、运算符、分隔符一起构成了一门编程语言的基本定义

 

Ruby中的常用分隔符如下:

符号

名称

用途

分号

用来分隔一行中的多个语句

 

()

圆括号

提高优先级;定义方法时容纳参数列表

 

" "

空格/分隔字符

在可省略"()"的地方代替"()"

逗号

隔开多个参数

将对象与它的方法隔开

::

双冒号

域作用符,将模块(类)与它的常量隔开

 

Ruby中的关键字如下:

模块定义:module

类定义: class

方法定义:def,undef

检查类型:defined?

条件语句:if,then,else,elsif,case,when,unless

循环语句:for,in,while,until,next,break,do,redo,retry,yield

逻辑判断:not,and,or

逻辑值: true,false

空值:  nil  

异常处理:rescue,ensure  

对象引用:super,self  

块的起始:begin/end

嵌入模块:BEGIN,END  

文件相关:__FILE__,__LINE__

方法返回:return

别名:  alias

 

注:BEGIN模块相当于C语言中的宏, END模块用来作一些收尾工作。有了require,include,应该取消BEGIN和END的语法定义。

 

ruby中的运算符如下:优先级(由高到低)

能否重写

运算符

描述

Y

[]、[]=

数组下标、数组元素赋值

 

Y

**

乘冥

Y

!、~、+、-

非、位非、一元加(正号)、负号

 

Y

*、/、%

乘、除、模

 

Y

+、-

加、减

 

Y

>>、<<

右移、左移

 

Y

&

位与

 

Y

^、|

位异或、位或

 

Y

<=、<、>、>=

小于等于、小于、大于、大于等于

 

Y

<=>、==、===、=~、!=、!~

各种相等判断(不能重写=~、!=、!~)

 

N

&&

短路与

 

N

||

短路或

 

N

..、...

区间的开始点到结束点

 

N

? :

三元条件运算符

 

N

=、%=、~=、/=、-=、+=、|=、&=、>>=、<<=、*=、&&=、||=、**=

各种赋值

 

N

defined?

检查类型

 

N

not

逻辑非

 

N

or、and

逻辑或、逻辑与

 

N

if、unless、while、until

判断与循环

 

N

begin、end

定义方法,类,模块的范围

 

注意: 

值得注意的是,ruby中没有"++"、"--"一类的运算符,但可以通过"+=1"、"-=1"实现。  

ruby标识符的一些约定:  

局部变量以小写字母或者下划线开头  

全局变量以美元符号开头。  

实例变量以@开头  

类变量以@@开头  

常量或类名以大写字母开头。  

ruby中的nil关键字很特别。nil表示一个与其他语言中null相类似的空集的概念。和其他语言不通的是,ruby在逻辑判断过程中,只有nul和false表示假,其他所有表达式都表示真。  


你可能感兴趣的:(程序,语法源文件)