mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-23 12:50:04 +08:00
Update date#list api doc (#3722)
This commit is contained in:
parent
752b81feeb
commit
add3ed6287
@ -55,6 +55,14 @@ endfunction
|
||||
" unshift({list})
|
||||
"
|
||||
" insert an item to the begin of the {list}
|
||||
"
|
||||
" clear({list})
|
||||
"
|
||||
" clear items in the {list}
|
||||
"
|
||||
" char_range({from}, {to})
|
||||
"
|
||||
" return a characters list based on the ascii number range.
|
||||
|
||||
function! s:pop(list) abort
|
||||
return remove(a:list, -1)
|
||||
|
@ -3410,6 +3410,14 @@ unshift({list})
|
||||
|
||||
insert an item to the begin of the {list}
|
||||
|
||||
clear({list})
|
||||
|
||||
clear items in the {list}
|
||||
|
||||
char_range({from}, {to})
|
||||
|
||||
return a characters list based on the ascii number range.
|
||||
|
||||
==============================================================================
|
||||
DATA#STRING *SpaceVim-api-data-string*
|
||||
|
||||
|
@ -46,6 +46,7 @@ echom s:file.pathSeparator
|
||||
| 名称 | 描述 |
|
||||
| ------------------------------------- | ----------------------------------------------------------------------- |
|
||||
| [data#dict](data/dict/) | data#dict API 提供了一些处理字典变量的常用方法,包括基础的增删改查。 |
|
||||
| [data#list](data/list/) | data#list 函数库主要提供一些操作列表的常用函数。 |
|
||||
| [data#string](data/string/) | data#string 函数库主要提供一些操作字符串的常用函数。 |
|
||||
| [file](file/) | 文件函数提供了基础的文件读写相关函数,兼容不同系统平台。 |
|
||||
| [job](job/) | 兼容 neovim 和 vim 的异步协同 API,对于旧版 vim 采用非异步机制 |
|
||||
@ -53,5 +54,6 @@ echom s:file.pathSeparator
|
||||
| [unicode#spinners](unicode/spinners/) | unicode#spinners API 可启用一个定时器,根据指定的名称定时更新进度条符号 |
|
||||
| [vim#command](vim/command/) | vim#command API 提供一些设置和获取 Vim 命令的基础函数。 |
|
||||
| [vim#highlight](vim/highlight/) | vim#highlight API 提供一些设置和获取 Vim 高亮信息的基础函数。 |
|
||||
| [vim#signatures](vim/signatures/) | vim#signatures API 提供一些设置和获取 Vim 提示消息的函数。 |
|
||||
|
||||
<!-- SpaceVim api cn list end -->
|
||||
|
62
docs/cn/api/data/list.md
Normal file
62
docs/cn/api/data/list.md
Normal file
@ -0,0 +1,62 @@
|
||||
---
|
||||
title: "data#list 函数库"
|
||||
description: "data#list 函数库主要提供一些操作列表的常用函数。"
|
||||
lang: zh
|
||||
---
|
||||
|
||||
# [可用函数库](../../) >> data#list
|
||||
|
||||
<!-- vim-markdown-toc GFM -->
|
||||
|
||||
- [简介](#简介)
|
||||
- [函数列表](#函数列表)
|
||||
|
||||
<!-- vim-markdown-toc -->
|
||||
|
||||
## 简介
|
||||
|
||||
`data#list` 函数提供了一些操作列表的工具方法,以下为使用这一函数的示例:
|
||||
|
||||
```vim
|
||||
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)`: 依据一个函数,去除列表中元素,并返回去重后的列表。
|
||||
|
||||
示例代码如下:
|
||||
|
||||
```vim
|
||||
" 去除列表中相同类型的其他元素
|
||||
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`。
|
||||
|
||||
示例代码如下:
|
||||
|
||||
```vim
|
||||
let l = ['a', 'b', 'c', 'd', 'e']
|
||||
echo s:LIST.replace(l, 1, 3, [1, 2, 3])
|
||||
" ['a', 1, 2, 3, 'e']
|
||||
```
|
Loading…
Reference in New Issue
Block a user