`

ruby code block

 
阅读更多
find

(1..5).find {|i| i == 5}
>5

(1..10).find {|i| i % 3 == 0}
>3

只返回第一个

(1..10).detect {|i| i % 3 == 0}
>3

(1..10).detect {|i| (1..10).include?(i * 3)}
>1

(1..10).find_all {|i| i % 3 == 0}
>[3, 6, 9]

(1..10).select {|i| (1..10).include?(i * 3)}
>[1, 2, 3]

(1..10).any? {|i| i % 3 == 0}
>true

(1..10).all? {|i| i % 3 == 0}
>false

[1..10].delete_if {|i| i % 3 == 0}
>[1, 2, 4 ,5, 7, 8, 10]



find/detect    =>  Object or nil
find_all/select    => Array
any?      => Boolean
all?    => Boolean
delete_if     => Array


search

h1 = { "a" => 111, "b" => 222}
h2 = {"b" => 333, "c" => 444}

h1.merge(h2)
>{“a”=>111, "b"=>333, "c"=>444}
h1.merge(h2)
>{"a"=>111, "b"=>222, "c"=>444}

h1.merge(h2) {|key, old, new| new}
>{“a”=>111, "b"=>333, "c"=>444}

h1.merge(h2) {|key, old, new| old}
>{"a"=>111, "b"=>222, "c"=>444}

h1.merge(h2) {|key, old, new| old * 5}
>{"a"=>111, "b"=>1110, "c"=>444}

h1.merge(h2) do |key, old, new|
    if old < new
      old
    else
      new
    end
end


merge后面的会覆盖前面的

h1.merge(h2) {|k, o, n| o < n ? o : n}
>{"a"=>111, "b"=>222, "c"=>444}
分享到:
评论

相关推荐

    Programming Ruby 1.9 & 2.0 The Pragmatic Programmers’ Guide 4th Edition

    In general, Ruby programmers tend to favor the the command line for running their code, and they tend to use text editors rather than IDEs. * Ruby runs on Windows, Linux, and Macs.

    multi_block:将多个块传递给 Ruby 方法

    多块 MultiBlock 是一个迷你框架,用于将多个块传递给方法。 它使用以简单的语法完成此操作。 接收方法可以产生所有块,也可以只调用特定的块,由顺序或名称标识。...yield :success , "Code Brawl!" # calls

    举例讲解Ruby中迭代器Iterator的用法

    A Ruby iterator is simple a method that can invoke a block of code. Block 一般是跟着 method 出现的, 并且 block 中的代码不一定会执行 如果 method 中有 yield, 那么它的block 中的代码会被执行 Block 可以...

    middleman-backtick:中间人的backtick_code_blocks(如octopress')

    中间人反t 中间人的backtick_code_blocks(如octopress') === 快速开始 ... activate :backtick_code_block 句法 ``` [language] [title] [url] [link text] code snippet ``` 例子 笔记 受启发

    MohitKAgnihotri.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    seanjmullan.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    orenbochman.github.io:博客

    它包括以下约定Syntax highlighted code block# Header 1## Header 2### Header 3- Bulleted- List1. Numbered2. List**Bold** and _Italic_ and `Code` text[ Link ](url) and ![ Image ](src) 有关更多详细信息,...

    softartdev.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    Quelich.github.io:代码,代码..

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    Mxrcon.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    cs-pui.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    curryNi.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    destan19.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    wrwatson.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    rscday.github.io:RSC Day测试网站

    它包括以下约定Syntax highlighted code block# Header 1## Header 2### Header 3- Bulleted- List1. Numbered2. List**Bold** and _Italic_ and `Code` text[ Link ](url) and ![ Image ](src) 有关更多详细信息,...

    fleadsom.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    stellar-deng.GitHub.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    calmguild.best:我可以大声笑的平静行会的网站

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    mchiapello.github.io

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

    jeresch.github.io:个人网站和博客

    Syntax highlighted code block # Header 1 ## Header 2 ### Header 3 - Bulleted - List 1. Numbered 2. List **Bold** and _Italic_ and `Code` text [ Link ](url) and ![ Image ](src) 有关更多详细信息,请...

Global site tag (gtag.js) - Google Analytics