Runes class final

The runes (integer Unicode code points) of a String.

The characters of a string are encoded in UTF-16. Decoding UTF-16, which combines surrogate pairs, yields Unicode code points. Following a similar terminology to Go, Dart uses the name 'rune' for an integer representing a Unicode code point. Use the runes property to get the runes of a string.

Example:

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

For a character outside the Basic Multilingual Plane (plane 0) that is composed of a surrogate pair, runes combines the pair and returns a single integer.

For example, the Unicode character for "Man" emoji ('👨', U+1F468) is combined from the surrogates U+d83d and U+dc68.

Example:

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

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

See also:

Inheritance
Available extensions

Constructors

Runes(String string)
Creates a Runes iterator for string.

Properties

average double

Available on Iterable<int>, provided by the IterableIntegerExtension extension

The arithmetic mean of the elements of a non-empty iterable.
no setter
first int
The first element.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Whether this collection has no elements.
no setterinherited
isNotEmpty bool
Whether this collection has at least one element.
no setterinherited
iterator RuneIterator
A new Iterator that allows iterating the elements of this Iterable.
no setteroverride
last int
The last element.
no setteroverride
length int
The number of elements in this Iterable.
no setterinherited
max int

Available on Iterable<int>, provided by the IterableIntegerExtension extension

A maximal element of the iterable.
no setter
maxOrNull int?

Available on Iterable<int>, provided by the IterableIntegerExtension extension

A maximal element of the iterable, or null if the iterable is empty.
no setter
min int

Available on Iterable<int>, provided by the IterableIntegerExtension extension

A minimal element of the iterable.
no setter
minOrNull int?

Available on Iterable<int>, provided by the IterableIntegerExtension extension

A minimal element of the iterable, or null it the iterable is empty.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
single int
Checks that this iterable has only one element, and returns that element.
no setterinherited
string String
The string that this is the runes of.
final
sum int

Available on Iterable<int>, provided by the IterableIntegerExtension extension

The sum of the elements.
no setter

Methods

any(bool test(int element)) bool
Checks whether any element of this iterable satisfies test.
inherited
cast<R>() Iterable<R>
A view of this iterable as an iterable of R instances.
inherited
contains(Object? element) bool
Whether the collection contains an element equal to element.
inherited
elementAt(int index) int
Returns the indexth element.
inherited
every(bool test(int element)) bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> toElements(int element)) Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
firstWhere(bool test(int element), {int orElse()?}) int
The first element that satisfies the given predicate test.
inherited
fold<T>(T initialValue, T combine(T previousValue, int element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<int> other) Iterable<int>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(int element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
join([String separator = ""]) String
Converts each element to a String and concatenates the strings.
inherited
lastWhere(bool test(int element), {int orElse()?}) int
The last element that satisfies the given predicate test.
inherited
map<T>(T toElement(int e)) Iterable<T>
The current elements of this iterable modified by toElement.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reduce(int combine(int value, int element)) int
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
singleWhere(bool test(int element), {int orElse()?}) int
The single element that satisfies test.
inherited
skip(int count) Iterable<int>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(int value)) Iterable<int>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
take(int count) Iterable<int>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(int value)) Iterable<int>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toList({bool growable = true}) List<int>
Creates a List containing the elements of this Iterable.
inherited
toSet() Set<int>
Creates a Set containing the same elements as this iterable.
inherited
toString() String
Returns a string representation of (some of) the elements of this.
inherited
where(bool test(int element)) Iterable<int>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() Iterable<T>
Creates a new lazy Iterable with all elements that have type T.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited