Как сделать вызываемый атрибут в Ruby

Я не знаю, как это гуглить, но я знаю, чего 9X_ruby хочу.

хочу сделать что-то подобное

class SchedulingManager attr_accessor :on_start def call on_start end end scheduling = SchedulingManager.new scheduling.on_start do puts "hello" end 

поэтому 9X_ruby я хочу, чтобы мой on_start инициировался в стиле 9X_ruby do block. и сохраните его, чтобы я мог вызвать 9X_ruby метод call и вывести приветствие (или выполнить 9X_ruby любой другой код в блоке).

я не знаю, как 9X_ruby это называется, я также не знаю, как это 9X_ruby гуглить.

Пожалуйста, нужна ваша помощь, ребята, спасибо

4
0
1
Общее количество ответов: 1

Ответ #1

Ответ на вопрос: Как сделать вызываемый атрибут в Ruby

Я бы сделал так и сохранил бы блок в переменной.

class SchedulingManager def on_start(&block) @block = block end def call @block&.call end end scheduling = SchedulingManager.new scheduling.on_start do puts "hello" end scheduling.call #=> hello 

9X_ruby

17
0