完整的emacs and lisp的学习集合整理如下:

https://github.com/GreyZhang/g_lisp

    继续emacs以及lisp的学习,这一次来看看一般的数组或者列表的长度或者维度的获取。首先,定义几个变量如下;

320_common lisp获取数组以及列表的长度或者维度

    接下来,我们先尝试使用length函数。

320_common lisp获取数组以及列表的长度或者维度

    我们可以成功获取到一个一维array或者list的元素数目或者说是他们的长度。但是,如果是多维array的话,这个将不奏效。具体可以参考下面的操作提示:

320_common lisp获取数组以及列表的长度或者维度

    可以看得出,length的处理对象必须是一个序列。

320_common lisp获取数组以及列表的长度或者维度

    对于array元素的总个数,我们可以采用上面的方式获得。也就是使用array-total-size函数。但是,这个无法处理列表,因为它不是一个array。我们可以做一次操作,看看提示:

320_common lisp获取数组以及列表的长度或者维度

    此外,对于诸如二维数组,我们还可以通过array-dimession函数或得相应轴上的元素数目。

320_common lisp获取数组以及列表的长度或者维度

    上面是对于一个单独的轴方向的元素个数的判断。初次之外,我们也能够通过array-dimensssions函数直接获取一个array的综合维度信息。

320_common lisp获取数组以及列表的长度或者维度

    以上是几个关于array维度或者长度操作的函数小结,关于三个变量基础类型的差异,我们最后可以增加一个练习操作:

320_common lisp获取数组以及列表的长度或者维度

完整的emacs and lisp的学习集合整理如下:

https://github.com/GreyZhang/g_lisp

相关文章: