last 属性
override
最后一个元素。
如果 this
为空,将抛出 StateError 异常。否则,可能会遍历元素并返回最后一个看到的一个。某些可迭代对象可能有更有效的方法来查找最后一个元素(例如,列表可以直接访问最后一个元素,而不必遍历前面的元素)。
实现
int get last {
if (string.length == 0) {
throw StateError('No elements.');
}
int length = string.length;
int code = string.codeUnitAt(length - 1);
if (_isTrailSurrogate(code) && string.length > 1) {
int previousCode = string.codeUnitAt(length - 2);
if (_isLeadSurrogate(previousCode)) {
return _combineSurrogatePair(previousCode, code);
}
}
return code;
}