將塊的最後一項移動到開頭

這個單執行緒說明了一些基本的系列操作。

在分析之前,我們將啟動一個被操作的塊:

stuff: [chair lamp table book carpet]

現在我們的單行:

head insert stuff take back tail stuff

在這個例子中有五個操作,每個操作都很重要,理解 Rebol 函式通常返回有用的值。這允許將函式連結到相對簡潔的語句中。

我們將從右到左執行此分析:

尾巴的東西

Rebol 塊系列與其他語言中的陣列類似,它們是具有 x 個值的抽象集合。然而,它們也可以在頭部(在第一個值之前)和尾部(在最後一個值之後)之間的任何位置被引用。

原生 tail 將返回尾部的塊。

背(尾巴的東西)

類似地,back 將在其當前位置之前立即返回該塊。在這種情況下,在尾部,back 將在倒數第二個位置返回塊。

拿(後尾的東西)

take 執行兩個操作 - 它在當前位置之後立即返回值,同時將其從塊中移除。

插入東西(收回尾巴的東西)

insert 將值放入當前位置的塊中,並在放置值後立即返回塊。請注意,stuff 在塊的開頭保留它的位置 - 在任何時候都不會重新分配另一個位置 - 語句的後半部分(取值)是自包含的。

頭(插入……)

最後 head 返回塊的開頭。雖然這裡的 insert 是在塊的開頭使用的,但是在放置值之後它會在開始後的一個位置返回塊。