初步了解一下什么是ruby

592 查看

关键字
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'