{} 单行的用;do...end 用
block可以带参数,也可以不带参数,参数使用||,
举例说明:
[Crabby@Crabby-Lee Book]$ irb
1.9.3-p125 :001 > sum = 0
=> 0
1.9.3-p125 :002 > (1..5).each do |v|
1.9.3-p125 :003 > name = 'smile'
1.9.3-p125 :004?> sum +=v
1.9.3-p125 :005?> end
=> 1..5
上例中name是块内的变量,离开块便不可以访问;块内可以访问块外的变量
1.9.3-p125 :016 > name = 'oooo'
1.9.3-p125 :017 > sum = 0
1.9.3-p125 :018 > (1..5).each do |v|
1.9.3-p125 :019 > name = 'inside' //如果没有显示定义块内的局部变量;name,则name将修改全局变量
1.9.3-p125 :020?> sum +=v
1.9.3-p125 :021?> end
1.9.3-p125 :022 > p sum
1.9.3-p125 :023 > p name //name 输出为inside,
Blocks
you assign a name to a block,the code in the block is always enclosed within braces({}),always invoked from a function with the same name as that of the block.This means that if you have a block with the nametest,then you use the function nametest to invoke this block.
block_name
{
statement1,
statement2
}
1.9.3-p125 :001 > def test
1.9.3-p125 :002?> puts "you r in the method"
1.9.3-p125 :003?> yield
1.9.3-p125 :004?> puts "you are again back to the method"
1.9.3-p125 :005?> yield
1.9.3-p125 :006?> end
=> nil
1.9.3-p125 :007 > test {p "Fuck"}
you r in the method
"Fuck"
you are again back to the method
"Fuck"
=> "Fuck"
有参数的调用:
def test
yield 5
puts "You are in the method test"
yield 100
end
test {|i| puts "You are in the block #{i}"}
暂时未学习,待补充.
块与方法
分享到:
相关推荐
这是一个编译过后的scratch-blocks源码,可以直接使用 如果不能直接下载请私信我。
python库。 资源全名:format-blocks-0.1.2.tar.gz
swagger-blocks, 定义和服务 ruby 应用程序的动态更新 Swagger Swagger::Blocks Swagger::Blocks 是一个用于纯 ruby 代码块的DSL,可以转换为 JSON 。它帮助你以 Swagger 风格编写API文档,然后自动构建与 Swagger ...
GrapesJS基本块该插件包含GrapesJS编辑器的一些基本块概括插件名称: gjs-blocks-basic 块: column1 , column2 , column3 , column3-7 , text , link , image , video , map选项选项描述默认blocks 要添加...
scratch-blocks, Scratch块是构建创造性计算接口的库 块Scratch块块是构建创造性计算界面的库。 简介Scratch块是 google 项目的一个 fork,它提供了一个设计规范和代码库,用于构建创新计算接口。 代码库支持快速...
可数方法这是Advanced Building Blocks项目,重点在于使用可枚举的方法。克隆和安装将此存储库克隆到本地计算机。 为此,请单击文件列表右上方的绿色“代码”按钮,然后在提示中复制链接。 然后,在终端中运行以下...
gulp-remove-debug-blocks-源码.rar
webpack-blocks-ts与Webpack 4.0和webpack-blocks 1.0兼容。 如果您需要使用旧版本的webpack-blocks,请使用此软件包的1.0.0早期版本。 项目状态 该项目目前正在寻找维护者。 公关被接受,并且在没有过多审查的情况...
资源分类:Python库 所属语言:Python 资源全名:eks-spot-blocks-0.2.69.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Unity游戏源码分享-有意思的科普游戏3D-Electronic-Blocks-master
欢迎使用react-code-blocks :waving_hand: :waving_hand: :waving_hand: React组件用于通过语法高亮显示代码段VERSION >= 0.0.8-alpha变化: VERSION >= 0.0.8-alpha现在需要一个nodejs版本> = 12 道具复制块道具...
我的世界MOD快速建造方块,1.5.2的快来下下下在啊,妈妈说标题长才有人看
1390--blocks.rar
IOS应用源码——nluchkin-Sosial-Blocks-497fe69.zip
iOS游戏应用源代码——nluchkin-Sosial-Blocks-497fe69.zip
python库。资源全名:eks-spot-blocks-0.2.298.tar.gz
python库。资源全名:eks-spot-blocks-0.2.105.tar.gz
python库。资源全名:eks-spot-blocks-0.2.301.tar.gz
python库。资源全名:eks-spot-blocks-0.2.249.tar.gz
Built-In Building Blocks.dotx office2016 .