Динамически вызываемые функции - PullRequest
0 голосов
/ 05 февраля 2020

Есть ли метод для динамического вызова функции в Dart?

Например, в C / C ++ я могу использовать указатели на функции. В PHP / Javascript я могу использовать имя функции.

Чего я хотел бы добиться, так это поместить функции в список и перебрать список функций, чтобы вызывать их все в одном и том же фрагменте данных. Как я могу лучше всего выполнить sh это в дротике?

Спасибо за помощь!

1 Ответ

1 голос
/ 05 февраля 2020

Вы можете просто использовать затворы и функциональные отрывы для достижения этой цели. Вот пример:

foo(String x) => print('Foo: $x');
bar(String x) => print('Bar: $x');

main() {
  final functions = [foo, bar, (String x) => print('Closure: $x')];
  for (final f in functions) {
    f('data');
  }
}

, который будет выводить:

Foo: data
Bar: data
Closure: data
...