Ruby on Rails Tutorial 第四章 Rails背後的Ruby 之 其他資料類型

來源:互聯網
上載者:User

標籤:

1、數組和範圍

2、塊

約定:當塊中只有一行簡單的代碼時使用花括弧形式;當塊是一行很長的代碼,或者有很多行時使用do..end形式。例如:

>> (1..5).each{|i| puts 2*i}(1..5).each do |i|    puts 2*i    puts ‘-‘end>> 3.times{puts "betelgeuse"}>> (1..5).map{|i| i**2}>> %w[a b c].map{|char| char.upcase}>> %w[A B C].map{|char| char.downcase}>> %w[A B C].map(&:downcase)>> (‘a‘..‘z‘).to_a.shuffle[0..7].join   #產生隨機次層網域

3、雜湊和符號

雜湊(hash)本質上就是數組,它的索引不局限於數字。雜湊的索引可以使用任何對象。雜湊通過一對花括弧包含一些索引值對的形式表示。雜湊和數組最大的區別在於:雜湊中的元素沒有特定的順序。雜湊中沒有定義的鍵對應的值是nil

>> user={}    #{}是一個空雜湊>> user["first_name"]="Amy">> user["last_name"]="Sun">> user["first_name"]=> "Amy">> user=> {"first_name"=>"Amy","last_name"=>"Sun"}>> user["e-mail"]=> nil>> user={ "first_name"=>"Amy","last_name"=>"Sun" }=>{"first_name"=>"Amy","last_name"=>"Sun"}

符號:Ruby中特有的資料類型,是沒有約束的字串

>> user={ :name=>"AmySun",:email=>"12***[email protected]**.com" }=> {:name=>"AmySun",:email=>"12***[email protected]**.com"}>> user[:name]=> "AmySun">> user[:password]=> nil>> h1={ :name=>"AmySun",:email=>"12***[email protected]**.com" }=> {:name=>"AmySun",:email=>"12***[email protected]**.com"}>> h1={ name:"AmySun",email:"12***[email protected]**.com" }    #:name=>和name:的作用一樣,因此{ :name=>"AmySun" }和{ name:"AmySun" }是等效的,但是只有:name表示符號=> {:name=>"AmySun",:email=>"12***[email protected]**.com"}>> h1==h2=> true

嵌套雜湊

>> params={}=> {}>> params[:user]={ name:"AmySun",email:"12***[email protected]**.com" }=> {:name=>"AmySun",:email=>"12***[email protected]**.com"}>> params=> {:user=>{:name=>"AmySun",:email=>"12***[email protected]**.com"}}>> params[:user][:email]=> 12***[email protected]**.com

雜湊中的each方法

>> user={ success:"It worked!",danger:"It failed." }=> {:success=>"It worked!",:danger=>"It failed."}user.each do |key,value|    puts "Key #{key.inspect} has value #{value.inspect}"end# 結果# Key :success has value "It worked!"# Key :failed has value "It failed."

其中inspect方法返回被調用對象的字串字面量表現形式,例如:

>> puts (1..5).to_a.inspect[1,2,3,4,5]>> puts :name,:name.inspectname:name>> puts "It worked!","It worked!".inspectIt worked!"It worked!">> p :name  #等價於 ‘puts :name.inspect’:name

4、引入css說明

<%= stylesheet_link_tag ‘application‘,media:‘all‘,‘data-trubolinks-track‘=>true %>

說明:調用函數時,如果雜湊是最後一個參數,可以省略花括弧;因為data-trubolinks-track中有連字號,所以不能寫成data-trubolinks-track:true的樣式產生的html源碼如下:

<link data-trubolinks-track="true" href="/assets/application.css" media="alll" rel="stylesheet" />

 

 

Ruby on Rails Tutorial 第四章 Rails背後的Ruby 之 其他資料類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.