`
yzhong_sa
  • 浏览: 90370 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

My way in ruby

阅读更多
贫道今天开始复习ruby了。。
那些配置环境的废话就不多说了 直接进入ruby语言的特性学习。

如何子弟工艺方法:

def sayGoodnight(name)
  result = "Goodnight, #{name}"
  return result
end

其中取传进来的参数用“#{参数名}” 就ok。

变量格式:
本地变量 可以直接是英文字母;---这种变量只能在类本身访问  默认是private的  想要他被外界访问 要变成类变量。
全局变量 以$开头。
对象  以@开头
类对象 以@@开头

数组与哈希表
ruby的数据可以包含多种数据类型,其实因为ruby中存在就是对象 所以它装的是对象就行了。
新建的时候可以直接初始化里面的数据
a = [ 1, 'cat', 3.14 ]

也可以新建一个空数组
empty1 = []
empty2 = Array.new
数组的元素还可以放数组  太tmd松散了。。似乎丢什么鬼东西进去都行。

也可以直接用字符来填充数组,不过需要转义 %W
a = %w{ ant bee cat dog elk } 

哈希表
新建和初始化:每一个以逗号隔开
instSection = {
  'cello'     => 'string',
  'clarinet'  => 'woodwind',
  'drum'      => 'percussion',
  'oboe'      => 'woodwind',
  'trumpet'   => 'brass',
  'violin'    => 'string'
}

hashname = {
'key1' => 'value1' ,
'key2' => 'value132' ,
'key3' => 'value1' ,
'key4' => 'value14' ,
'key5' => 'value15'
}

访问:hashname['keyname'] 当所访问的key是空则会返回一个空nil回来


if-else 控制

传统的if else 如下:
if 条件表达式
业务
elseif
业务
else
业务
end
不要忘记‘end’结束标记。
ruby中还可以写成: do if 条件

while循环

while 条件1 and 条件2
业务
end


字符串操作
=~  是一个查找字符串起始位置的操作。。
line =~ /Perl|Python/
查line字符串中 包含Perl或者python的开始位置。

替换操作
sub 替换第一个匹配的字符串。返回新的字符串
gsub 替换所有匹配的字符串。返回新的字符串



Block 块
在调用否个方法的时候你可以定义一个块 在每次这个方法执行完的时候运行块里面的内容 同时你可以把那个方法所返回的结果放到一个参数 然后再块中访问它。
def yamadie
 
yield
yield
yield

end
chicks = %w{cangjingkong xiaozeyuan jiji yy}
chicks.each {|name| puts name+' is crying ya ma die..'}

或者写成:
puts 'block'

def yamadie
 
yield
yield
yield

end
chicks = %w{cangjingkong xiaozeyuan jiji yy}
chicks.each do |name|
puts name+' is crying ya ma die..'
end

这里有java中常用的迭代器的思想
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics