Spec-Zone.ru › Dart 2

dart:core

Конструктор bool.fromEnvironment

const bool.fromEnvironment(
  1. String name,
  2. {bool defaultValue = false}
)

Возвращает логическое значение объявления окружения name.

Логическое значение объявления равно true, если объявленное значение — строка "true", и false, если значение — "false".

Во всех остальных случаях, в том числе когда для name нет объявления, результатом будет defaultValue.

Результат совпадает с результатом следующего вызова:

(const String.fromEnvironment(name) == "true")
    ? true
    : (const String.fromEnvironment(name) == "false")
        ? false
        : defaultValue

Пример:

const loggingFlag = const bool.fromEnvironment("logging");

Если вы хотите использовать строку истины, отличную от "true", можно напрямую использовать конструктор String.fromEnvironment:

const isLoggingOn = (const String.fromEnvironment("logging") == "on");

Строковое значение или отсутствие значения, связанное с name, должно быть одинаковым во всех вызовах String.fromEnvironment, int.fromEnvironment, bool.fromEnvironment и bool.hasEnvironment в одной программе.

Работа этого конструктора гарантируется только при вызове в качестве const. На некоторых платформах, имеющих доступ к параметрам компилятора во время выполнения, он может работать и при вызове без константного контекста, однако на большинстве платформ с предварительной компиляцией этой информации не будет.

Реализация

// The .fromEnvironment() constructors are 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.fromEnvironment(String name,
    {bool defaultValue = false});

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/bool/bool.fromEnvironment.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API