rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Ruby

Ruby入门基本知识(一)

基本知识1.使用gem更新rdoc, rdoc-data
gem install rdoc
gem install rdoc-datahttp://www.ruby-doc.org
2.使用ri 查询 rdoc
ri
3.进入ruby交互环境 使用irb命令4.ruby的注释使用#5.#{表达式}在字符串双引号中的用法,
  #{表达式}会被表达式的值替换掉(注意单引号无效)
  如果表达式是一个全局变量或者类变量,则不需要花括号(个人建议带上{})

def say_hello(name)
    return "Hello ${name}"
endsay_hello("World")6.ruby变量命名规则
局部变量,方法名称,方法参数,以小写字母或下划线开始
全局变量都以$开始
实例变量都以@开始
类变量都以@@开始
类名称,模块名称,常量,以大写字母开始
7.数组和散列
数组中可以是任意对象
a = [1, "test", "3", true]
创建一个空数组
a = Array.new
[]
创建一个长度为10的数组
a.Array.new(2)
[nil, nil]
散列中key和value也可以是任意对象
b = {'a' => 'b', 'c' => 2, true => 3}
问题
b = Hash.new
{}
b = Hash.new(2)
{}
8.简单的控制结构 (ruby 没有使用{} 使用end关键字表示结束)
if a > 10
    puts "a > 10"
elsif a == 10
    puts "a = 10"
else
    puts "a < 10"
end    while a < 10
    a = a + 1
    puts a
end9. sub 和 gsub方法
line.sub(/java/, "ruby") 只替换第一个
line.gsub(/java/, "ruby") 替换所有10. Block 和 迭代器
Block只是{}或do end之间的一段代码
单行Block使用{}
多行使用do end一旦创建了Block就可以和方法进行关联

def callBlock
    yield
    yield
endcallBlock { puts "call Block" }yield会调用Block中的代码带参数的Block
def callBlock
    yield("World")
    yield("Ruby")
endcallBlock {|name| puts "Hello #{name}"}Ruby使用Block实现迭代器(%w生成字符串数组的一种方式)
例1
languages = %w( Java Groovy Scala PHP Ruby )
languages.each{ |language| puts language }
例2
2.times{ puts "Hello" }
顶一下
(0)
踩一下
(0)