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

本文介绍了Ruby语言中Hash对象及数组的基本用法,包括创建、遍历、添加元素等操作,并展示了不同表示方法的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Hash对象


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;

2. 数组

数组的创建方式和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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值