將塊的最後一項移動到開頭
這個單執行緒說明了一些基本的系列操作。
在分析之前,我們將啟動一個被操作的塊:
stuff: [chair lamp table book carpet]
現在我們的單行:
head insert stuff take back tail stuff
在這個例子中有五個操作,每個操作都很重要,理解 Rebol 函式通常返回有用的值。這允許將函式連結到相對簡潔的語句中。
我們將從右到左執行此分析:
尾巴的東西
Rebol 塊系列與其他語言中的陣列類似,它們是具有 x 個值的抽象集合。然而,它們也可以在頭部(在第一個值之前)和尾部(在最後一個值之後)之間的任何位置被引用。
原生 tail
將返回尾部的塊。
背(尾巴的東西)
類似地,back
將在其當前位置之前立即返回該塊。在這種情況下,在尾部,back
將在倒數第二個位置返回塊。
拿(後尾的東西)
take
執行兩個操作 - 它在當前位置之後立即返回值,同時將其從塊中移除。
插入東西(收回尾巴的東西)
insert
將值放入當前位置的塊中,並在放置值後立即返回塊。請注意,stuff
在塊的開頭保留它的位置 - 在任何時候都不會重新分配另一個位置 - 語句的後半部分(取值)是自包含的。
頭(插入……)
最後 head
返回塊的開頭。雖然這裡的 insert
是在塊的開頭使用的,但是在放置值之後它會在開始後的一個位置返回塊。