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