Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了重写简单的ruby函数使用块大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我不知道正确的术语.我试图google它,找不到任何因为这个原因.

我正在编写一个Ruby库,我想重写这些函数,所以他们的工作方式如下,因为我喜欢它的可读性(在一个块内?)

我有一个这样做的功能

@dwg = Dwg.new("test.dwg")
@dwg.line([0,0],[1,1,0])
@dwg.save

我想重写它,所以它的工作原理

Dwg.new("test.dwg") do

   line([0,0])
   save

end

你可以概述我的方式吗?

解决方法

您可以定义Dwg的初始化器以获取一个块,然后使用instance_eval生成该块,如下所示:
class MyClass
  def initialize(name,&block)
    @name = name
    instance_eval &block
  end

  def show_name
    puts 'My name is ' + @name
  end
end

MyClass.new('mud') do
  show_name
end

# >> My name is mud

有关更多信息,请参阅Gregory Brown最优秀的Ruby Best Practices“创意共享许可Chapter 2”中的“界面简化框架”一节. (它的作者和发行商正在逐渐把整个事情整合起来,但是你当然可以买一个副本来支持这个工作,iPhone版是特别实惠的.)

大佬总结

以上是大佬教程为你收集整理的重写简单的ruby函数使用块全部内容,希望文章能够帮你解决重写简单的ruby函数使用块所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: