注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

Ruby入门基本知识(一)  

2012-01-12 22:47:14|  分类: Ruby |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
基本知识

1.使用gem更新rdoc, rdoc-data
gem install rdoc
gem install rdoc-data

http://www.ruby-doc.org
2.使用ri 查询 rdoc
ri
3.进入ruby交互环境 使用irb命令

4.ruby的注释使用#

5.#{表达式}在字符串双引号中的用法,
  #{表达式}会被表达式的值替换掉(注意单引号无效)
  如果表达式是一个全局变量或者类变量,则不需要花括号(个人建议带上{})

def say_hello(name)
    return "Hello ${name}"
end

say_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
end

9. sub 和 gsub方法
line.sub(/java/, "ruby") 只替换第一个
line.gsub(/java/, "ruby") 替换所有

10. Block 和 迭代器
Block只是{}或do end之间的一段代码
单行Block使用{}
多行使用do end

一旦创建了Block就可以和方法进行关联

def callBlock
    yield
    yield
end

callBlock { puts "call Block" }

yield会调用Block中的代码

带参数的Block
def callBlock
    yield("World")
    yield("Ruby")
end

callBlock {|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" }
  评论这张
 
阅读(189)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017