mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-25 07:40:06 +08:00
1.8 KiB
1.8 KiB
title | description | lang |
---|---|---|
data#list 函数库 | data#list 函数库主要提供一些操作列表的常用函数。 | zh |
可用函数库 >> data#list
简介
data#list
函数提供了一些操作列表的工具方法,以下为使用这一函数的示例:
let s:LIST = SpaceVim#api#import('data#list')
let l = [1, 2, 3, 4]
echo s:LIST.pop(l)
" 4
echo l
" [1, 2, 3]
函数列表
-
pop(list)
: 移除并返回列表的最后一个元素。 -
push(list, var)
: 向列表最后添加一个元素并返回列表。 -
shift(list)
: 移除并返回列表的第一个元素。 -
unshift(list, var)
: 向列表最前端添加一个元素,并返回列表。 -
clear(list)
: 清除列表中的元素。 -
uniq(list)
: 去除列表中重复的元素,并返回去重后的列表。 -
uniq_by_func(list, func)
: 依据一个函数,去除列表中元素,并返回去重后的列表。示例代码如下:
" 去除列表中相同类型的其他元素 let l = ['a', 'b', 1, 2, 3, 'c'] func! s:get_type(var) return type(a:var) endf echo s:LIST.uniq_by_func(l, function('s:get_type')) " ['a', 1]
-
char_range(char1, char2)
: 返回一个字符列表,从字符char1
到char2
。 -
has(list, var)
: 检测列表list
内是否包含元素var
,若包含则返回v:true
,否则返回v:false
。 -
has_index(list, idx)
: 检测 list 是否包含位置idx
。 -
replace(list, begin, end, new_list)
: 替换列表list
中从位置begin
至end
为新的列表new_list
。示例代码如下:
let l = ['a', 'b', 'c', 'd', 'e'] echo s:LIST.replace(l, 1, 3, [1, 2, 3]) " ['a', 1, 2, 3, 'e']