gpt4 book ai didi

ruby - 屈服于具有调用功能的 block

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:30 26 4
gpt4 key购买 nike

class SomeClass    

def initialize
yield
end

def test
puts 'test'
end
end

我想在初始化某个 SomeClass 时在 block 内执行测试函数。 SomeClass.new { 测试() }这给了我

NoMethodError: undefined method `test' for main:Object

最佳答案

您正在寻找instance_eval:

class SomeClass    

def initialize(&block)
instance_eval(&block) if block_given?
end

def test
puts 'test'
end
end

SomeClass.new { test() } #=> test

关于ruby - 屈服于具有调用功能的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24834299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com