P01 - 查找列表的最后一个元素。
作者:Scott Penrose
LISP
P01 (*) Find the last box of a list. Example: * (my-last '(a b c d)) (D)
请注意,在 LISP 语法中,最后一个“元素”是列表中最后一个仅包含一个元素的子列表。在 perl6 中,单个元素通常可以用作列表,反之亦然;因此,本示例不区分单个元素和包含单个元素的列表。
示例
> say my_last <a b c d>; d
源代码: P01-scottp.pl
use v6;
# a. One line example:
# <> can be used to generate an array, similar to perl 5 - qw<a b c d>
# [] is used to select the element number
# * means the number of elements
# say is like print to stdout with a new line
# .say can be called as everything is an object
<A B C D E F>[* - 1].say;
# b. Subroutine example
# @l lists can be passed in as parameters - no need to use references
# .elems - is the number of elements, this time called on the object
# say called in procedure form
sub my_last(@l) {
return @l[@l.elems - 1];
}
say my_last(<A B C D>);
# c. Pop like perl5
# pop the last element off, which also returns it
# say either way
say <X Y Z>.Array.pop;
<X Y Z>.Array.pop.say;
Perl 6 示例