解释性语言,自上而下执行,纯面向对象,跨平台,动态绑定,没有多重继承。
NetBeans sun公司开发
irb指令可快速实时输入并返回结果 quit 或者exit
rdoc hello.rb 生成html文档
rdoc -f chm 生成chm文档,依赖月微软的html help workshop
gem ruby包管理
gem list列出已经安装的包
gem install 安装包
gem uninstall 卸载安装包
gem query 搜索包
gem help 使用帮助
rebyscript2exe 和exerb 可一个把ruby转换为脱离环境 独立执行文件的工具。
命名规则
局部变量以小写字母或者下划线开头。
全局变量以美元符号$开头。
实例变量以@开头。
类变量以@@开头。
常量或类名以大写字母开头。
关键字
module 模块定义
class 类
def,undef 方法
defined? 检查类型
if,then,else,elsif,case,when,unless 条件语句
for,in,while,until,next(continue),break,do,redo(重复当前循环周期),retry(重复整个迭代循环),yield 循环语句
not,and,or 逻辑判断
nil 空值
rescue,ensure 异常处理
super,self 对象引用
begin/end 块的起始结束
BEGIN,END 嵌入模块
_FILE_,_LINE_ 文件相关
alias 别名
nil与c#的null类似,ruby在逻辑判断中,只有nil和false表示假,其他所有表达式都表示真。
public,protected,private 子类可以在内部使用父类的protected和private,C#中只可以访问protected
class BaseClass def public_m1() puts "basePublic" end protected def protected_m2() puts "baseProtected" end private def private_method() puts "basePrivate" end end class MyClass<BaseClass def call_basepublic() public_m1 end def call_baseprotected() protected_m2 end def call_baseprivat() private_method end end #baseclass=BaseClass.new #baseclass.private_method 私用不能访问 #baseclass.protected_m2 受保护也不能访问 myclass=MyClass.new myclass.call_baseprivat myclass.call_baseprotected myclass.call_basepublic