返回Ruby中对象的yield的方法
发布时间:2020-12-17 02:42:19 所属栏目:百科 来源:网络整理
导读:Ruby中是否有一个返回传递给对象的块内容的方法? 例如,如果我有一个我想要放入数组的对象怎么办? 在一个理想的世界里,我们会做(我正在寻找的): "string".reverse.upcase.something{ |s| send(s) } 它会返回一个包含我的对象的数组,相当于: send("string"
Ruby中是否有一个返回传递给对象的块内容的方法?
例如,如果我有一个我想要放入数组的对象怎么办? 在一个理想的世界里,我们会做(我正在寻找的): "string".reverse.upcase.something{ |s| send(s) } 它会返回一个包含我的对象的数组,相当于: send("string".reverse.upcase) 如果我的对象开始时它是不可链接的,并且在更复杂的场景中会变得混乱. 因此,something方法将返回块的评估,如 解决方法
我不知道内置这样的东西,但你可以自己轻松做到:
class Object def something(&block) block.call(self) end end p "foo".something { | o | [o] } p 23.something { | x | p x; 42 } 给 ["foo"] # object "foo" put into an array 23 # object handed to block 42 # something return block's result (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ajaxpro的ajax函数内不能使用session
- ruby-on-rails – 有没有办法将自定义文件夹添加到“部分路
- 基于DDD的现代ASP.NET开发框架--ABP系列之13、ABP领域层——
- ruby的程序结构介绍
- cocos2dx之 android/ios语音交互(一)
- iphone – 将ZXing连接到xcode中的按钮
- Oracle 11g安装和配置教程(图解)-win7 64位
- oracle – 如何避免合并时出现ORA-3814错误?
- reactjs – ReactBootstrap OverlayTrigger容器属性如何工作
- ios – 找不到接受Swift中提供的参数的“init”的重载