最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Ruby簡明教程之數組和Hash介紹

 更新時間:2014年06月23日 11:39:24   投稿:junjie  
這篇文章主要介紹了Ruby簡明教程之數組和Hash介紹,非常簡潔的講解,可以作為語法備忘,需要的朋友可以參考下

今天學習的是數組和Hash,數組在很多編程語言中都能常常用到。

數組:

數組是存儲數據的一種容器,在Ruby中,數組中存儲的數據可以是任何類型的數據;這和JAVA不同,在JAVA中,數組是存儲同一類型數據的結構。

1. 在Ruby中如何定義數組呢?

使用[ ]來框住元素,而元素之間則使用","間隔。如下,

復制代碼 代碼如下:

name = ["Windy", "Cindy", "Amee", "Tom"]

name = []  #聲明了一個空數組,未定義的數組

name = [1, "song", 3, "小林"]

2. 如何取得數組元素呢?

在Ruby通過 數組名[index] 來獲取數組元素,這和JAVA是一樣的。而且index序號是從0開始的。例如,在上面的例子中,想要取出"Windy"這個元素,則要使用name[0],而 p name[3] # -> "Tom"。

3. 如何將對象放入數組中呢?

可以直接通過給數組元素賦值

復制代碼 代碼如下:

name = ["Alice", "John", "Bob", "Jessie"]
name[1] = "Jack"

p name  #-> ["Alice", "Jack", "Bob", "Jessie"]

name[4] = "Windy"
p name  #-> ["Alice", "Jack", "Bob", "Jessie", "Windy"]

4. 如何取得數組的大小?

使用size方法可以返回數組大小。例如,上面實例中第一次定義的數組name, p name.size  # -> 4  在JAVA中,數組是有屬性length來獲取數組大小的。

5. 如何逐項處理數組中的內容?

可以使用數組的each方法來對數組中的內容逐項處理,語法如下:

復制代碼 代碼如下:

=begin
語法:
數組.each { |變量|
  要執(zhí)行的動作
}
=end

name = [2, 5, ,6, 9]
name.each{ |number|
  prints number+1, "\n"
}

#  -> 3
#      6
#      7
#      10


這和JAVA中的for each循環(huán)類似。

HASH:

HASH是經常使用的容器之一,在Ruby中,其可以使用字符串等數據為key來存儲對象,和JAVA中的Map容器很類似。

1. 如何定義HASH呢?

使用{ }將HASH對象都框住,而每個元素以key=>value的形式出現,而元素之間通過","間隔。

復制代碼 代碼如下:

name_list = {"01" => "Windy", "02" => "Cindy", "03" => "Terry"}

2. 如何取得HASH中的元素呢?

使用 HASH名稱[key值] 來獲取HASH元素,例如,

復制代碼 代碼如下:

p name_list["01"]  # -> "Windy"

3. 如何將對象儲存到HASH中?

和上面說到的數組類似,直接將值賦給HASH元素,例如: name_list["02"] = "Amy"

由于HASH沒有固定的順序,所以不能按照存儲的順序來取出數據,這和JAVA中的Hash Table很類似。

4. 如何逐項處理HASH內容

與數組類似,其也是通過它的each方法來逐項處理其元素

復制代碼 代碼如下:

=begin
語法
HASH.each { |key變量,值變量|
  想要執(zhí)行的動作
}
=end

name_list.each{ |key, value|
   print key, " = ", value, "\n"
}

# -> "01" = "Windy"
#     "02" = "Cindy"
#     "03" = "Terry"


Ruby還有重定向(redirect)的功能,就是把執(zhí)行結果文件再存儲到另外的文件中,使用">文件名"來實現,例如,ruby name_list.rb > name_list.txt

相關文章

  • 進一步深入Ruby中的類與對象概念

    進一步深入Ruby中的類與對象概念

    這篇文章主要介紹了進一步深入Ruby中的類與對象概念,包括集成與多態(tài)等更多知識點的整理,需要的朋友可以參考下
    2015-05-05
  • ruby 存取器 概念

    ruby 存取器 概念

    ruby 存取器 概念...
    2007-11-11
  • Ruby基礎知識之基本流程控制

    Ruby基礎知識之基本流程控制

    這篇文章主要介紹了Ruby基礎知識之基本流程控制,本文講解了條件判斷、循環(huán)語句、迭代器和枚舉三部分內容,需要的朋友可以參考下
    2015-04-04
  • GitHub倡導的Ruby代碼編寫風格總結

    GitHub倡導的Ruby代碼編寫風格總結

    GitHub網站服務器端主要就是使用的Ruby作為編程語言,因而GitHub所提倡采用的Ruby書寫規(guī)范也就顯得更有些說服力XD 下面我們就整理除了這份GitHub倡導的Ruby代碼編寫風格總結,需要的朋友可以參考下
    2016-05-05
  • 使用RVM實現控制切換Ruby/Rails版本

    使用RVM實現控制切換Ruby/Rails版本

    RVM 是Ruby Version Manager的縮寫,是一個命令行工具,它可以讓你輕松地安裝,管理和使用多個版本的Ruby.不同的rails項目使用等ruby和rails版本不一樣的時候,可以使用RVM自由切換。
    2017-06-06
  • ruby 單態(tài)方法 分析

    ruby 單態(tài)方法 分析

    ruby 單態(tài)方法 分析...
    2007-11-11
  • 對優(yōu)化Ruby on Rails性能的一些辦法的探究

    對優(yōu)化Ruby on Rails性能的一些辦法的探究

    這篇文章主要介紹了對優(yōu)化Ruby on Rails性能的一些辦法的一些探究,包括避免內存密集型的應用和GC等相關問題的探討,需要的朋友可以參考下
    2015-11-11
  • 源代碼快速定位工具-qwandry使用指南

    源代碼快速定位工具-qwandry使用指南

    qwandry是一款能快速定位到我們需要找到庫文件、項目的工具。是一個快速打開我們指定文件夾的工具,比如快速打開rails, activerecord等目錄。
    2014-07-07
  • ruby元編程之method_missing的一個使用細節(jié)

    ruby元編程之method_missing的一個使用細節(jié)

    這篇文章主要介紹了ruby元編程之method_missing的一個使用細節(jié),本文介紹在使用method_missing時造成死循環(huán)的一個現象,需要的朋友可以參考下
    2015-05-05
  • Ruby基礎知識之方法、代碼段

    Ruby基礎知識之方法、代碼段

    這篇文章主要介紹了Ruby基礎知識之方法、代碼段,本文講解了定義方法、取消方法、方法參數、代碼塊和閉包等知識,需要的朋友可以參考下
    2015-04-04

最新評論

平原县| 嵊州市| 兰溪市| 五常市| 永州市| 柘城县| 张北县| 岳池县| 石泉县| 巴里| 宁安市| 武隆县| 长汀县| 磐安县| 济源市| 兰州市| 泾源县| 乌兰县| 板桥市| 达州市| 措美县| 永靖县| 册亨县| 重庆市| 调兵山市| 望谟县| 丹江口市| 建阳市| 河池市| 佛教| 沾化县| 梁河县| 顺昌县| 云南省| 陆良县| 金门县| 天气| 江安县| 梧州市| 枝江市| 泉州市|