vital.vim の Data.List を使ってみた

typo があったので修正しました.

Haskell を触ったことがない人はたくさんいると思うので、
list のヘルプ「Haskell 風に動作する」は修正したほうが良いと思います.

fixed document by syngan · Pull Request #55 · vim-jp/vital.vim · GitHub

なんとなくヘルプを眺めていたら typo みつけて, そのながれで Data.List を見てみたけど,
vim 力が足りないからなのかなんなのかわからないけど,
そのうち pull req 送ろうと思うよメモ.

pop()
pop({list})				*Vital.Data.List.pop()*
	Removes the last element from a list and returns the element.
https://github.com/vim-jp/vital.vim/blob/5547268490ae58b3f2b7daf2d37c81b590f6f682/doc/vital-data-list.txt
:let VITAL = vital#of('vital')
:let List = VITAL.import('Data.List')
:let p = [1, 2, 3]
:echo List.pop(p)
3
:echo p
[1, 2]
  • 引数がリストであることの説明がない.
push()
push({list}, {val})			*Vital.Data.List.push()*
	Appends {val} to {list} and returns the list itself.
https://github.com/vim-jp/vital.vim/blob/5547268490ae58b3f2b7daf2d37c81b590f6f682/doc/vital-data-list.txt
:let VITAL = vital#of('vital')
:let List = VITAL.import('Data.List')
:let p = [1, 2, 3]
:echo List.push(p, [5])
[1, 2, 3, [5]]
:echo p
[1, 2, 3, [5]]
  • 引数がリストであることの説明がない.
  • 一番後ろに追加することの説明がない
shift()

shift({list}) *Vital.Data.List.shift()*
Removes the first element from a list and returns the element.

https://github.com/vim-jp/vital.vim/blob/5547268490ae58b3f2b7daf2d37c81b590f6f682/doc/vital-data-list.txt
:let VITAL = vital#of('vital')
:let List = VITAL.import('Data.List')
:let p = [1, 2, 3]
:echo List.shift(p)
1
:echo p
[2, 3]
  • 引数がリストであることの説明がない.
unshift()
unshift({list}, {val})			*Vital.Data.List.unshift()*
	Inserts {val} to the head of {list} and returns the list itself.
https://github.com/vim-jp/vital.vim/blob/5547268490ae58b3f2b7daf2d37c81b590f6f682/doc/vital-data-list.txt