Как сделать вызываемый атрибут в 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
K
Kycheryaviy
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
w
warwar
-
14
-
20
-
4
-
16
-
19
-
5
-
6
-
3
-
18
-
7
-
9
-
11
-
8
-
3
-
10
-
9
-
22
-
4
-
5
-
13
-
19
-
40
-
4
-
13
-
18
-
4
-
11
-
8
-
11
-
9
-
7
-
14
-
5
-
5
-
6
-
9
-
7
-
7
-
13
-
9
-
10
-
10
-
14
-
6
-
11
-
16
-
4
-
12
-
5
-
11