官术网_书友最值得收藏!

What is a block?

So what exactly is a block? In other programming languages, a block is called a closure. Blocks allow you to group statements together and encapsulate behavior.

There are two ways to create blocks in Ruby and we'll use a proc to illustrate them:

  • Using curly braces

We'll begin by illustrating how to use blocks with the curly braces syntax, as shown here:

        add = Proc.new { |x, y| x + y} 
add[1, 2]

Running this code will return 3. The code inside of the curly braces is inside the block

  • Using do...end

The alternate way to use blocks is using the do...end syntax:

        add = Proc.new do |x, y| 
x + y
end

add[1, 2]

This will give you the same result as when we used the curly bracket syntax. A rule of thumb in Ruby is to use curly braces when you want to have all logic on the same line. Technically, you can write your program in a single line if you use curly braces.

The next obvious question is: why use procs when you can use methods to perform the same functionality? The answer is that procs give you more flexibility than methods. With procs you can store an entire set of processes inside a variable and then call the variable anywhere else in your program.

主站蜘蛛池模板: 宁波市| 南澳县| 梁平县| 炎陵县| 哈密市| 通许县| 思茅市| 昔阳县| 临高县| 理塘县| 砚山县| 松桃| 文安县| 宁都县| 汝州市| 东平县| 罗田县| 筠连县| 正宁县| 敦煌市| 大冶市| 霍邱县| 西乡县| 新干县| 新疆| 宁陕县| 治多县| 隆安县| 双鸭山市| 饶河县| 台湾省| 资中县| 永安市| 改则县| 兰溪市| 吉林省| 遂宁市| 西青区| 荔波县| 科技| 商都县|