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