使用红宝石中的每种方法

Ruby中的每个数组和哈希都是一个对象,这些类型的每个对象都有一组内置方法。Ruby的新手程序员可以通过遵循此处介绍的简单示例,了解如何使用带有数组和散列的each方法。

教育资源网_1

使用Ruby

中的数组对象的每种方法

首先,通过将数组分配给"stooges。电的小知识"来创建一个数组对象;

 
>>stooges=['Larry','Curly','Moe']

接下来,调用每个方法并创建一小块代码来处理结果。

>>凳子。每一个{| stooge | PrintStooge+"\ n"}

此代码产生以下输出:

Larry

Curly

Moe

每种方法都有两个参数-一个元素和一个块。管道中包含的元素类似于占位符。块中使用放置在管道中的任何内容依次表示数组的每个元素。该块是在每个数组项目上执行的代码行,并交给元素进行处理。

您可以使用do定义一个更大的块,轻松地将代码块扩展到多行:

>>东西。每一个做|事物|

打印事物

打印"\ n"

结束

这与**个示例相同,只是块被定义为元素之后(在管道中)和end语句之前的一切。

使用Hash对象

的每种方法

就像数组对象一样,哈希对象有一个可用于在哈希中的每个项目上应用代码块的每种方法。首先,创建一个包含一些联系信息的简单哈希对象:

>>联系人info={&##39;姓名'=>'Bob','电话'=>'111-111-1111'}

然后,调用每种方法并创建一行代码块来处理和打印结果。

>>联系_信息{| key,value | printkey+'='+value+"\ n"}

这会产生以下输出:

name=Bob

phone=111-111-1111

这与具有一个关键差异的数组对象的每种方法完全一样。对于散列,您创建两个元素-一个用于散列密钥,一个用于值。像数组一样,这些元素是占位符,用于将每个键/值对作为红宝石循环通过哈希传递到代码块中。

您可以使用do轻松地将代码块扩展到多行以定义更大的块:

>>联系_信息do | key,value |

打印键+&##39;='+value

打印"\ n"

结束

这与**个哈希示例相同,只是该块被定义为元素之后(在管道中)和end语句之前的一切。