Как сделать вызываемый атрибут в 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