1
0
forked from Mirror/wren
Files
wren/doc/site/core/list.markdown

97 lines
2.5 KiB
Markdown
Raw Normal View History

2015-01-18 15:36:36 -08:00
^title List Class
^category core
Extends [Sequence](sequence.html).
An indexable contiguous collection of elements. More details [here](../lists.html).
2015-03-27 07:43:36 -07:00
## Methods
2015-01-18 15:36:36 -08:00
### **add**(item)
Appends `item` to the end of the list.
2015-01-18 15:36:36 -08:00
### **clear**()
2015-01-18 15:36:36 -08:00
Removes all elements from the list.
2015-01-18 15:36:36 -08:00
### **count**
The number of elements in the list.
2015-01-18 15:36:36 -08:00
### **insert**(index, item)
2015-01-18 15:36:36 -08:00
2015-04-22 07:45:20 -07:00
Inserts the `item` at `index` in the list.
2015-04-04 15:23:16 -07:00
:::dart
var list = ["a", "b", "c", "d"]
list.insert(1, "e")
System.print(list) // "[a, e, b, c, d]".
2015-04-04 15:23:16 -07:00
2015-04-22 07:45:20 -07:00
The `index` may be one past the last index in the list to append an element.
:::dart
var list = ["a", "b", "c"]
list.insert(3, "d")
System.print(list) // "[a, b, c, d]".
2015-04-22 07:45:20 -07:00
If `index` is negative, it counts backwards from the end of the list. It bases this on the length of the list *after* inserted the element, so that `-1` will append the element, not insert it before the last element.
:::dart
var list = ["a", "b"]
list.insert(-1, "d")
list.insert(-2, "c")
System.print(list) // "[a, b, c, d]".
2015-04-22 07:45:20 -07:00
2015-04-04 15:23:16 -07:00
Returns the inserted item.
:::dart
System.print(["a", "c"].insert(1, "b")) // "b".
2015-04-04 15:23:16 -07:00
It is a runtime error if the index is not an integer or is out of bounds.
2015-01-18 15:36:36 -08:00
### **iterate**(iterator), **iteratorValue**(iterator)
Implements the [iterator protocol](../control-flow.html#the-iterator-protocol)
for iterating over the elements in the list.
2015-01-18 15:36:36 -08:00
### **removeAt**(index)
Removes the element at `index`. If `index` is negative, it counts backwards
from the end of the list where `-1` is the last element. All trailing elements
are shifted up to fill in where the removed element was.
:::dart
var list = ["a", "b", "c", "d"]
list.removeAt(1)
System.print(list) // "[a, c, d]".
Returns the removed item.
System.print(["a", "b", "c"].removeAt(1)) // "b".
It is a runtime error if the index is not an integer or is out of bounds.
2015-01-18 15:36:36 -08:00
### **[**index**]** operator
Gets the element at `index`. If `index` is negative, it counts backwards from
the end of the list where `-1` is the last element.
:::dart
var list = ["a", "b", "c"]
System.print(list[1]) // "b".
It is a runtime error if the index is not an integer or is out of bounds.
2015-01-18 15:36:36 -08:00
### **[**index**]=**(item) operator
Replaces the element at `index` with `item`. If `index` is negative, it counts
backwards from the end of the list where `-1` is the last element.
:::dart
var list = ["a", "b", "c"]
list[1] = "new"
System.print(list) // "[a, new, c]".
It is a runtime error if the index is not an integer or is out of bounds.