将块的最后一项移动到开头
这个单线程说明了一些基本的系列操作。
在分析之前,我们将启动一个被操作的块:
stuff: [chair lamp table book carpet]
现在我们的单行:
head insert stuff take back tail stuff
在这个例子中有五个操作,每个操作都很重要,理解 Rebol 函数通常返回有用的值。这允许将函数链接到相对简洁的语句中。
我们将从右到左执行此分析:
尾巴的东西
Rebol 块系列与其他语言中的数组类似,它们是具有 x 个值的抽象集合。然而,它们也可以在头部(在第一个值之前)和尾部(在最后一个值之后)之间的任何位置被引用。
原生 tail
将返回尾部的块。
背(尾巴的东西)
类似地,back
将在其当前位置之前立即返回该块。在这种情况下,在尾部,back
将在倒数第二个位置返回块。
拿(后尾的东西)
take
执行两个操作 - 它在当前位置之后立即返回值,同时将其从块中移除。
插入东西(收回尾巴的东西)
insert
将值放入当前位置的块中,并在放置值后立即返回块。请注意,stuff
在块的开头保留它的位置 - 在任何时候都不会重新分配另一个位置 - 语句的后半部分(取值)是自包含的。
头(插入……)
最后 head
返回块的开头。虽然这里的 insert
是在块的开头使用的,但是在放置值之后它会在开始后的一个位置返回块。