Runes class - dart:core library (original) (raw)

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

Constructors

Runes(String string)

Creates a Runes iterator for string.

Properties

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

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

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