Spec-Zone.ru › Dart 1

dart:core

Метод checkValidRange

int checkValidRange(int start, int end, int length, [ String startName, String endName, String message ])

Проверка, что диапазон представляет срез индексируемого объекта.

Выбрасывает исключение, если диапазон не является допустимым для индексируемого объекта с заданным length. Диапазон является допустимым для индексируемого объекта с заданным length

если 0 <= [start] <= [end] <= [length]. Значение end из null считается эквивалентным length.

Значения startName и endName по умолчанию равны "start" и "end", соответственно.

Возвращает фактическое значение end, которое равно length если end является null, и end в противном случае.

Исходный код

static int checkValidRange(int start, int end, int length,
    [String startName, String endName, String message]) {
  // Comparing with `0` as receiver produces better dart2js type inference.
  // Ditto `start > end` below.
  if (0 > start || start > length) {
    if (startName == null) startName = "start";
    throw new RangeError.range(start, 0, length, startName, message);
  }
  if (end != null) {
    if (start > end || end > length) {
      if (endName == null) endName = "end";
      throw new RangeError.range(end, start, length, endName, message);
    }
    return end;
  }
  return length;
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/RangeError/checkValidRange.html

Spec-Zone.ru

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