使用紅寶石中的每種方法
Ruby中的每個(gè)數(shù)組和哈希都是一個(gè)對象,這些類型的每個(gè)對象都有一組內(nèi)置方法。Ruby的新手程序員可以通過遵循此處介紹的簡單示例,了解如何使用帶有數(shù)組和散列的each方法。
使用Ruby
中的數(shù)組對象的每種方法首先,通過將數(shù)組分配給"stooges。電的小知識"來創(chuàng)建一個(gè)數(shù)組對象;
>>stooges=['Larry','Curly','Moe']
接下來,調(diào)用每個(gè)方法并創(chuàng)建一小塊代碼來處理結(jié)果。
>>凳子。每一個(gè){| stooge | PrintStooge+"\ n"}
此代碼產(chǎn)生以下輸出:
Larry
Curly
Moe
每種方法都有兩個(gè)參數(shù)-一個(gè)元素和一個(gè)塊。管道中包含的元素類似于占位符。塊中使用放置在管道中的任何內(nèi)容依次表示數(shù)組的每個(gè)元素。該塊是在每個(gè)數(shù)組項(xiàng)目上執(zhí)行的代碼行,并交給元素進(jìn)行處理。
您可以使用do定義一個(gè)更大的塊,輕松地將代碼塊擴(kuò)展到多行:
>>東西。每一個(gè)做|事物|
打印事物
打印"\ n"
結(jié)束
這與第一個(gè)示例相同,只是塊被定義為元素之后(在管道中)和end語句之前的一切。
使用Hash對象
的每種方法就像數(shù)組對象一樣,哈希對象有一個(gè)可用于在哈希中的每個(gè)項(xiàng)目上應(yīng)用代碼塊的每種方法。首先,創(chuàng)建一個(gè)包含一些聯(lián)系信息的簡單哈希對象:
>>聯(lián)系人info={#39;姓名'=>'Bob','電話'=>'111-111-1111'}
然后,調(diào)用每種方法并創(chuàng)建一行代碼塊來處理和打印結(jié)果。
>>聯(lián)系_信息{| key,value | printkey+'='+value+"\ n"}
這會產(chǎn)生以下輸出:
name=Bob
phone=111-111-1111
這與具有一個(gè)關(guān)鍵差異的數(shù)組對象的每種方法完全一樣。對于散列,您創(chuàng)建兩個(gè)元素-一個(gè)用于散列密鑰,一個(gè)用于值。像數(shù)組一樣,這些元素是占位符,用于將每個(gè)鍵/值對作為紅寶石循環(huán)通過哈希傳遞到代碼塊中。
您可以使用do輕松地將代碼塊擴(kuò)展到多行以定義更大的塊:
>>聯(lián)系_信息do | key,value |
打印鍵+#39;='+value
打印"\ n"
結(jié)束
這與第一個(gè)哈希示例相同,只是該塊被定義為元素之后(在管道中)和end語句之前的一切。