首页 / RUBY / ruby函数回调的实现方法
ruby函数回调的实现方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ruby函数回调的实现方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含669字,纯文字阅读大概需要1分钟。
内容图文
以前一直困惑ruby不像python,c可以将函数随意传递,然后在需要的时候才去执行。其实本质原因是ruby的函数不是对象。
通过查阅资料发现可以使用如下方法:
def func(a, b) puts a + b end f = method(:func) f.call(1, 2)
上面是使用Method对象封装函数,然后就可以通过操作该Method对象实现函数的参数传递。
曾经一度认为上面方法才是将函数作为参数使用的正统方法,后来才发现原来是我太执着于c的函数指针的使用模式里,而没有真正体会到ruby block的精髓,使用block的实现方法:
def func(a, b) puts a + b end def use_func(a, b) yield a, b end use_func(1, 2) do |a, b| func a, b end
说明一下用意:
将函数作为参数传递给其他对象,其实根本目的是让其他对象可以使用该函数,使用方法就如同use_func的实现,这时关心的内容其实仅仅是参数列表和返回值,也就是说我们可以使用block将func的“形”传递给use_func,而在真正需要使用func的时候再在block中执行func即可。
当然,举例的func实现过于简单,大家可能觉得只需要将puts语句放在block中即可,但是当实现内容增多或者需要重用时,func还是有存在的必要。
原文:http://www.cnblogs.com/sizzle/p/5134467.html
内容总结
以上是互联网集市为您收集整理的ruby函数回调的实现方法全部内容,希望文章能够帮你解决ruby函数回调的实现方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。