牛骨文教育服务平台(让学习变的简单)
博文笔记

Ruby on Rails 入门之:(9) Ruby中Hash对象与数组

创建时间:2012-09-27 投稿人: 浏览次数:6896

Ruby中Hash对象的使用,键值对使用=>分隔开。
如代码所示:
#encoding:gbk
Stus = {"tom"=>"42","Aaron"=>"29","Lucy"=>"32"};

for key,value in Stus
	puts key,value;
end


puts "***********************"

Stus.each do |key,value|
	puts key,value;
end

puts Stus.size().to_s;

还可以使用Hash.new创建一个新的Hash对象,然后给这个对象添加键值对。
#encoding:gbk
Stus = {"tom"=>"42","Aaron"=>"29","Lucy"=>"32"};

for key,value in Stus
	puts key,value;
end


puts "***********************"

Stus.each do |key,value|
	puts key,value;
end

puts Stus.size().to_s;

S = Hash.new
S["wang"]="28";
S["phone"]=123456789;
S["sex"]="male";

puts "************************";
S.each do |key,value|
	puts key,value;
end;

数组的创建方式和Hash对象差不多,可以直接创建,也可以通过Array.new,然后添加元素。
#encoding:gbk
Foods = ["饺子","面条","馄饨"];

for f in Foods
	puts f;
end

puts "********************";

person = Array.new
person[0]="a";
person[1]="b";
person[2]="c";

for p in person
	puts p;
end


数组的%表示方式 数组还可以通过%来进行表示
%W: 会对字符进行转义 %w: 不会对字符进行转义
#encoding:gbk
Foods = ["饺子","面条","馄饨"];

for f in Foods
	puts f;
end

puts "********************";

person = Array.new
person[0]="a";
person[1]="b";
person[2]="c";

for p in person
	puts p;
end

str = %W{上海s 北京s 广州s};
puts str;

str = %w{上海s 北京s 广州s};
puts str;

上面代码的输出结果:
watkins@watkins:~/temp/workspace/ruby$ ruby array.rb 
饺子
面条
馄饨
********************
a
b
c
上海 
北京 
广州 
上海s
北京s
广州s
watkins@watkins:~/temp/workspace/ruby$ 

可以使用<<符号向数组中追加元素;
#encoding:gbk
Foods = ["饺子","面条","馄饨"];
Foods << "肉加馍";

for f in Foods
	puts f;
end

puts "********************";

person = Array.new
person[0]="a";
person[1]="b";
person[2]="c";

for p in person
	puts p;
end

str = %W{上海s 北京s 广州s};
puts str;

str = %w{上海s 北京s 广州s};
puts str;

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。