Runesfinal

String 的 runes (整数 Unicode 码点)。

字符串中的字符使用 UTF-16 编码。解码 UTF-16,组合代理对,产生 Unicode 码点。与 Go 语言类似,Dart 使用 'rune' 这一名称来表示一个代表 Unicode 码点的整数。使用 runes 属性来获取字符串的 runes。

示例

const string = 'Dart';
final runes = string.runes.toList();
print(runes); // [68, 97, 114, 116]

对于基本多语言平面(平面 0)外的字符,由代理对组成,runes 将这对代理组合并返回一个单一整数。

例如,"Man" 表情符号的 Unicode 字符 ('👨', U+1F468) 由代理 U+d83dU+dc68 组合而成。

示例

const emojiMan = '👨';
print(emojiMan.runes); // (128104)

// Surrogate pairs:
for (final item in emojiMan.codeUnits) {
  print(item.toRadixString(16));
  // d83d
  // dc68
}

另请参阅

继承
支持的扩展

构造函数

Runes(String string)
为字符串创建一个 Runes 迭代器。

属性

first int
第一个元素。
no setterinherited
hashCode int
此对象的哈希码。
no setterinherited
isEmpty bool
该集合是否没有元素。
no setterinherited
isNotEmpty bool
该集合是否至少有一个元素。
no setterinherited
iterator RuneIterator
一个新的 Iterator,允许遍历此 Iterable 的元素。
no setteroverride
last int
最后一个元素。
no setteroverride
length int
此中元素的数量。
no setterinherited
runtimeType Type
对象运行时类型的表示。
no setterinherited
single int
检查此可迭代是否只有一个元素,并返回该元素。
no setterinherited
string String
这是 runes 所属的字符串。
final

方法

any(bool test(int element)) bool
检查此可迭代项是否满足 test
inherited
cast<R>() Iterable<R>
将此可迭代视图视为 R 实例的可迭代集合。
inherited
contains(Object? element) bool
检查集合中是否包含与 element 等值的元素。
inherited
elementAt(int index) int
返回第 index 个元素。
inherited
every(bool test(int element)) bool
检查此可迭代中的每个元素是否满足 test
inherited
expand<T>(Iterable<T> toElements(int element)) Iterable<T>
将此可迭代的每个元素展开为零个或多个元素。
inherited
firstWhere(bool test(int element), {int orElse()?}) int
返回满足给定谓词 test 的第一个元素。
inherited
fold<T>(T initialValue, T combine(T previousValue, int element)) → T
通过迭代将收集的每个元素与现有值结合,将收集的值减少到单个值。
inherited
followedBy(Iterable<int> other) Iterable<int>
创建与此可迭代和 other 的懒惰连接。
inherited
forEach(void action(int element)) → void
按照遍历顺序对可迭代对象中的每个元素调用的 action
inherited
join([String separator = ""]) String
将每个元素转换为 String 并连接它们。
inherited
lastWhere(bool test(int element), {int orElse()?}) int
满足给定谓词 test 的最后一个元素。
inherited
map<T>(T toElement(int e)) Iterable<T>
通过 toElement 修改后的当前可迭代对象元素。
inherited
noSuchMethod(Invocation invocation) → dynamic
访问不存在的属性或方法时被调用。
inherited
reduce(int combine(int value, int element)) int
通过迭代使用提供的函数组合集合中的元素来减少集合为一个单一值。
inherited
singleWhere(bool test(int element), {int orElse()?}) int
满足 test 单一元素的。
inherited
skip(int count) Iterable<int>
创建一个不包含前 count 个元素的 Iterable
inherited
skipWhile(bool test(int value)) Iterable<int>
创建一个Iterable,当test条件满足时跳过前面的元素。
inherited
take(int count) Iterable<int>
创建一个惰性可迭代对象,包含这个可迭代对象的前count个元素。
inherited
takeWhile(bool test(int value)) Iterable<int>
创建一个惰性可迭代对象,包含满足test条件的前面的元素。
inherited
toList({bool growable = true}) List<int>
创建一个包含这个Iterable元素的List
inherited
toSet() Set<int>
创建一个包含与这个可迭代对象相同元素的Set
inherited
toString() String
返回这个对象(部分)的字符串表示。
inherited
where(bool test(int element)) Iterable<int>
创建一个新的惰性Iterable,包含所有满足谓词test的元素。
inherited
whereType<T>() Iterable<T>
创建一个新的惰性Iterable,包含所有具有类型T的元素。
inherited

操作符

operator ==(Object other) bool
等性操作符。
inherited