Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

if_lua で Vim のList型から変換された値のsortがスマートじゃない #392

Open
Shougo opened this issue May 23, 2013 · 9 comments
Assignees

Comments

@Shougo
Copy link
Member

Shougo commented May 23, 2013

最近、if_luaでVim scriptのソート処理を書きなおそうとしていて、その過程で発覚しました。
現状のif_luaのユーザー定義型(List, Dictionary)にはsort関数がありません。
Lua言語自体にはtable.sort()があるものの、if_luaで定義しているユーザー定義型には対応していません。
このままだと不便なので、ユーザーデータ型の処理としてsort()を追加したほうが良いように思います。

実装中のプラグインに関しては、自分は仮の処理としてif_luaでソート処理を実装する予定です……。

if_luaの強化は自分が興味あるところなので、本体でも自分で作業する予定ではあります。


by KoRoN

タイトル変更 「if_lua に sort関数がない」→「if_lua で Vim のList型から変換された値のsortがスマートじゃない」

if_lua において、VimのList型から変換された値(ユーザ定義型)はLuaのテーブルのように利用できますが、
table ではないため table.sort() が適用できません。そのために sort するには Vim側 で予めやるか、
Lua側で table に変換するかなどの遠回しな手段を取らざるを得ません。

これを Lua だけで sort できるようにしたい、というのがこの Issue の趣旨です。

@ghost ghost assigned Shougo May 23, 2013
@Shougo
Copy link
Member Author

Shougo commented May 23, 2013

if_luaのリストデータ構造を一度テーブルに変換するというひどく安直な方法であっても、

Vim script: 0.040699s
if_lua : 0.015521s

圧倒的にif_luaのほうが高速である……

@koron
Copy link
Member

koron commented May 23, 2013

現状のif_luaにはsort関数がありません。

これ、VimのList型から変換された値、という意味?

@Shougo
Copy link
Member Author

Shougo commented May 23, 2013

はい。そうです。ユーザー定義型なので、Luaのtableとは互換性が無いようです。

@koron
Copy link
Member

koron commented May 23, 2013

ちょっと説明不足だったw

@Shougo
Copy link
Member Author

Shougo commented May 23, 2013

すみません……。

@k-takata
Copy link
Member

実装中のプラグインに関しては、自分は仮の処理としてif_luaでソート処理を実装する予定です……。

最初、見出しサイズで表示されていたので、すごいやる気だと思ったのですが、違いましたか…。

\#と書けば、行頭に # を書くことができます。

@Shougo
Copy link
Member Author

Shougo commented May 23, 2013

はい。さっき気づきました。

最初、見出しサイズで表示されていたので、すごいやる気だと思ったのですが、違いましたか…。

ヤル気はあります。が、私自身プラグイン周りでかなり修正中でごごご……。。

@koron
Copy link
Member

koron commented May 23, 2013

@Shougo 補足を書いておきました。目を通しておいてください。

@Shougo
Copy link
Member Author

Shougo commented May 23, 2013

了解です。はい、その解説で問題ないと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants