Ruby collect 迭代器及输入输出浅谈

文章介绍了Ruby语言中collect迭代器的用法,它用于对集合(如数组或哈希)的元素进行操作并创建新数组。此外,还提到了Ruby如何处理Map的迭代以及puts语句在输出中的作用。同时,简述了Ruby的I/O功能,特别是IO类提供的基础输入输出方法。

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

Ruby collect 迭代器

collect 迭代器返回集合的所有元素。

语法

1

collection = collection.collect

collect 方法不需要总是与一个块关联。collect 方法返回整个集合,不管它是数组或者是哈希。

实例

1

2

3

4

5

6

#!/usr/bin/ruby

  

a = [1,2,3,4,5]

b = Array.new

b = a.collect{ |x|x }

puts b

以上实例运行输出结果为:

1
2
3
4
5

注意:collect 方法不是数组间进行复制的正确方式。这里有另一个称为 clone 的方法,用于复制一个数组到另一个数组。

当您想要对每个值进行一些操作以便获得新的数组时,您通常使用 collect 方法。例如,下面的代码会生成一个数组,其值是 a 中每个值的 10 倍。

实例

1

2

3

4

5

#!/usr/bin/ruby

  

a = [1,2,3,4,5]

b = a.collect{|x| 10*x}

puts b

以上实例运行输出结果为:

10
20
30
40
50

Java需要把Map转化成List类型的容器才能使用迭代器,但Ruby有直接针对Map的迭代器:

1

2

3

4

sum = 0

cutcome = {"block1" => 1000, "book2" => 1000, "book3" => 4000}

cutcome.each{|item, price| sum += price}

print "sum = " + sum.to_s

甚至还可以这样:

1

2

3

4

sum = 0

cutcome = {"block1" => 1000, "book2" => 1000, "book3" => 4000}

cutcome.each{|pair| sum += pair[1]}

print "sum = " + sum.to_s

Ruby 文件的输入与输出

Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。

类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。

本章节将讲解所有 Ruby 中可用的基础的 I/O 函数。如需了解更多的函数,请查看 Ruby 的 IO 类。

puts 语句

在前面的章节中,您赋值给变量,然后使用 puts 语句打印输出。

puts 语句指示程序显示存储在变量中的值。这将在每行末尾添加一个新行。

实例

1

2

3

4

5

6

#!/usr/bin/ruby

  

val1 = "This is variable one"

val2 = "This is variable two"

puts val1

puts val2

以上实例运行输出结果为:

This is variable one
This is variable two

转自:微点阅读   https://www.weidianyuedu.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值