关键字
defundef方法定义
module模块定义
class类定义
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
嵌入模块BEGINEND
块的起始begin/end
文件相关_FILE__LINE_
方法返回return
别名alias
符号
;用来分隔多语句
()定义方法时容纳参数列表
,隔开多个参数
.将对象归与它的方法分开
::域作用符号,将(模块)类与它的常量隔开
运算符
[][]=数组下标,数组赋值
**乘冥
!~ + - 非,位非,一元加 负号
*/%乘 除 模
+ - 加 减
>><< 右移 左移
&位与
^|位异或 位或
<=<>>=小于等于 小于 大于 大于等与
<==>======~!=!~各种相等判断
&&短路与
||短路或
..... 区的开始到结束点,第二个不包括尾
?: 三元条件运算符
全局变量由$开头.它们可以在程序的任何位置访问到.在初始化前,全局变量有一个特殊的值nil.
这里列出了一些以$打头并跟单个字符的特殊变量.比如,$$包含了Ruby解释器的进程id,它是只读的.这里是主要的系统变量以及它们的含义(细节可在Ruby的参考手册中查到):
$!最近一次的错误信息
$@错误产生的位置
$_gets最近读的字符串
$.解释器最近读的行数(linenumber)
$&最近一次与正则表达式匹配的字符串
$~作为子表达式组的最近一次匹配
$n最近匹配的第n个子表达式(和$~[n]一样)
$=是否区别大小写的标志
$/输入记录分隔符
$\输出记录分隔符
$0Ruby脚本的文件名
$*命令行参数
$$解释器进程ID
$?最近一次执行的子进程退出状态
=begin
示例:win32api操作
=end
require'dl'
User32=DL.dlopen("user32")
MB_OKCANCEL=1
message_box=User32['MessageBoxA','ILSSI']
r,rs=message_box.call(0,'OK?','PleaseConfirm',MB_OKCANCEL)
caser
when1
print("OK!\n")
when2
print("Cancel!\n")
end
system($*[0]) #命令行接收参数$*[0]全局变量
File.open('c:\\boot.ini').ecahdo|line|;putsline;end #读取全部内容
arr=File.readlines('c:\\boot.ini');putsarr[0])#只读第一行
File.open('c:\\boot.ini')do|f1| #另一种方法,只读第一行
whileline=f1.gets
putsline
break
end
end
#写文件
File.new('c:\1.txt',"w").puts 'message'