Runes class Null safety

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

first → int
Returns the first element.
read-onlyinherited
hashCode → int
The hash code for this object.
read-onlyinherited
isEmpty → bool
Whether this collection has no elements.
read-onlyinherited
isNotEmpty → bool
Whether this collection has at least one element.
read-onlyinherited
iterator → RuneIterator
Returns a new Iterator that allows iterating the elements of this Iterable.
read-onlyoverride
last → int
Returns the last element.
read-onlyoverride
length → int
Returns the number of elements in this.
read-onlyinherited
runtimeType → Type
A representation of the runtime type of the object.
read-onlyinherited
single → int
Checks that this iterable has only one element, and returns that element.
read-onlyinherited
string → String
The string that this is the runes of.
final

Methods

any(bool test(int element)) → bool
Checks whether any element of this iterable satisfies test.
inherited
cast<R>() → Iterable<R>
Provides 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
Returns 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>
Returns 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
Returns 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 non-existent 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
Returns the single element that satisfies test.
inherited
skip(int count) → Iterable<int>
Returns an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(int value)) → Iterable<int>
Returns an Iterable that skips leading elements while test is satisfied.
inherited
take(int count) → Iterable<int>
Returns a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(int value)) → Iterable<int>
Returns 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>
Returns a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() → Iterable<T>
Returns a new lazy Iterable with all elements that have type T.
inherited

Operators

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