04/20/2010 Ruby命名 数组和散列表

Ruby命名规则:名称的第一个字符显示这个名称如何被使用

1)局部变量,方法参数,方法名称:必须以小写字母下划线开始。

2)全局变量:都有$符号为前缀。

3)实例变量:以@符号开始。

4)类变量:以@@符号开始。

5)类名称,模块名称,常量: 必须以一个大写字母开始。

 

数组(arrays)和散列表(hashes)

Ruby的数组和散列表是被索引的收集(indexed collection).

相同:两者都存储对象的集合,通过键(key)来访问。都可以保存不同类型的对象。

不同:数组的键是整数,散列表支持以任何对象作为它的键。

 

数组

数组:a=[1,’cat’,3.14]

访问:  a[0]

设置:a[2] = nil

显示:puts a

注: nil是一个对象,表示没有任何东西的对象。

创建数组:a = %w{a b c}         #same as: a = ["a","b","c"] (不需要处理引号和逗号)

 

散列表

hash literal: 使用花括号,必须为每一项提供2个对象,一个键(key)和一个值(value)。

hashes = {
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => 'value1'
}

使用:hashes[‘key1’]

 

创建散列表:hashes = Hash.new(5) ;

                puts hashes[‘key1’]       # return 5

 

注:在散列表里面,键(key)必须是唯一的。

      散列表里面的键和值,可以是任意对象(如:值是数组或散列表)。

      若用散列表没有包含的键进行索引(如hashes[‘key4’]),散列表返回nil。

      在创建一个新的空散列表时,可以指定一个默认值(5代替返回值nil)。

 

Test Code:

# My first method
def goodnight(name)
  result = 'Good night, ' + name + '.'
  return result
end

puts goodnight('test1')

 

# Code in another way
def goodnight(name)
  result = "Good night, #{name}."  
  return result
end

puts goodnight("test2")

 

$greeting = "Hello"       
@name = "Prudence"    
puts "#$greeting, #@name"  

 

def goodnight(name)
"Good night, #{name}"
end

puts goodnight("test3")

posted @ 2010-04-20 17:26  NikeyL  阅读(382)  评论(0编辑  收藏  举报