Я пытаюсь сохранить метод экземпляра как переменную, чтобы я мог передать его в способ хранения логики c в строящемся меню.
Например, я хочу свой our_startup.prompt
метод для хранения в моем массиве start_game_ui.logic
. Я пытаюсь сделать это с помощью функции start_game_ui.set_logic
, которая помещает аргументы в массив logi c. Я хотел бы добавить 6 методов в массив logi c, чтобы при запуске последней функции помещать и получать ввод 1 - 6. Если пользователь выбирает 1
, он должен запускать функцию в первом элементе массива. .
our_startup = Startup.new("No Name")
## START GAME UI ##
start_game_ui = UI.new("start_game_ui")
start_game_ui.menu_items = ["[1] - Yes", "[2] - Generate Another"]
##set up logic##
method1_test = our_startup.set_name("test")
rerun = start_game_ui.prompt
start_game_ui.set_logic(method1_test, rerun)
При запуске этого метода мой start_game_ui.prompt
будет запущен. Я хочу сохранить метод start_game_ui.prompt
в этой переменной rerun
, не запуская метод.
Как только я запущу свой последний метод и выберу 1
, он должен вернуть "test"
. Однако, когда я запускаю это, он запускает start_game_ui.prompt
, и я не хочу этого.
Я надеюсь, вы понимаете, что я имею в виду. У меня есть 2 класса UI
и Startup
, если вы не могли сказать.
ПОЖАЛУЙСТА, НЕ СКАЖИ МНЕ Я МОГУ СДЕЛАТЬ method(:something)
это не помогает, так как это метод экземпляра, вызываемый другим экземпляром. Если вы не можете сказать мне, как заставить этот символ соответствовать правильному методу внутри экземпляра. Я пробовал method(our_startup.prompt)
, и он не работает.