Конструктор bool.hasEnvironment
- String name
Определяет, существует ли объявление среды name.
Возвращает true, если существует объявление среды с именем name. Если оно существует, значение этого объявления можно получить, используя const String.fromEnvironment(name). В противном случае, String.fromEnvironment(name, defaultValue: someString) будет равно заданному defaultValue.
Этот конструктор может использоваться для обработки отсутствующего объявления, что не может быть реализовано путем предоставления значения по умолчанию для конструктора C.fromEnvironment, где C является одним из String, int или bool.
Пример:
const loggingIsDeclared = bool.hasEnvironment("logging");
const String? logger = loggingIsDeclared
? String.fromEnvironment("logging")
: null; Строковое значение или отсутствие значения, связанного с name должны быть согласованными во всех вызовах String.fromEnvironment, int.fromEnvironment, bool.fromEnvironment и bool.hasEnvironment в одной программе.
Этот конструктор гарантированно работает только при вызове в виде const. Он может работать как неконстантный вызов на некоторых платформах, имеющих доступ к параметрам компилятора во время выполнения, но большинство платформ с компиляцией перед выполнением (ahead-of-time) не будут иметь эту информацию.
Реализация
// The .hasEnvironment() constructor is special in that we do not want // users to call them using "new". We prohibit that by giving them bodies // that throw, even though const constructors are not allowed to have bodies. // Disable those static errors. //ignore: const_constructor_with_body //ignore: const_factory external const factory bool.hasEnvironment(String name);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/bool/bool.hasEnvironment.html