Поскольку вы используете lambdas, вы также можете воспользоваться другими функциями Java 8, например потоками.
Например, IntStream
:
Последовательность примитивные значения элементов, поддерживающие последовательные и параллельные агрегированные операции. Это int-примитивная специализация Stream.
blockquote>может использоваться для замены цикла for:
IntStream.range(0,10).forEach(i->{...});
, поэтому теперь у вас есть индекс, который можно использовать для ваша цель:
IntStream.range(0,10) .forEach(i->button[i].setOnAction(ea->button[i].setDisable(true)));
Также вы можете сгенерировать поток из массива:
Stream.of(button).forEach(btn->{...});
В этом случае у вас не будет индекса, так как @shmosel предлагает, вы можете использовать источник события:
Stream.of(button) .forEach(btn->btn.setOnAction(ea->((Button)ea.getSource()).setDisable(true)));
EDIT
Как указывает @James_D, здесь нет необходимости понижать прогноз:
Stream.of(button) .forEach(btn->btn.setOnAction(ea->btn.setDisable(true)));
В обоих случаях вы также можете воспользоваться параллельными операциями:
IntStream.range(0,10).parallel() .forEach(i->button[i].setOnAction(ea->button[i].setDisable(true))); Stream.of(button).parallel() .forEach(btn->btn.setOnAction(ea->btn.setDisable(true)));
Vagrantfiles - это программы на Ruby. Это помогло бы, если бы вы, по крайней мере, правильно сделали отступ. Как вы и подозревали, есть проблема с @ machine.name; проблема в том, что вы нигде не определили @machine
. Если вы puts @machine
, он, вероятно, покажет, что он не определен. Глядя на этот источник , который, по-видимому, там, где вы его нашли, это может быть потому, что плагин триггеров не установлен в вашей версии.