スパム対策として書込み時にID/PWを要求されますが、ローマ字で ほげ/ホゲ で書き込めるようになります。

関数で可変長引数を使う

  • ページ: ScriptSample
  • カテゴリー: その他
  • 投稿日: 2006-10-15 23:06:24 (日)

メッセージ

Vim Part 13 より。

483 From:名無しさん@お腹いっぱい。 Date:2006/10/15(日) 00:33:43 Mail:sage

 可変長の引数が可能ですが、引数取り出しの扱いがわかりません。
 function! AllRead(...)
 while args
 r args
 endwhile
 endfunction
 どうすればいいでしょうか?
 

484 From:名無しさん@お腹いっぱい。 Date:2006/10/15(日) 00:59:00 Mail:sage

 >>482
 これを1つのコマンドにでもしておくべし。
 :put
 :'[,']s/^/>>/
 http://vimwiki.net/?tips%2F7
 
 >>483
 a:0 が引数の個数で、a:1, a:2 ... で引数にアクセスできるらしい。
 文字列にして連結するしかないのかな。
   function! AllRead(...)
 let i = 1
   while i <= a:0
 exe "echo a:" . i
 let i = i + 1
   endwhile
   endfunction
 
 Vim7 以降ならリストが使える。
   function! AllRead2(...)
 for i in a:000
 echo i
 endfor
   endfunction

485 From:名無しさん@お腹いっぱい。 Date:2006/10/15(日) 01:21:04 Mail:sage

 >>484
 :echo a:{i}

486 From:名無しさん@お腹いっぱい。 Date:2006/10/15(日) 01:38:30 Mail:sage

 >>485
 知らんかった。
 :h curly-braces-names
 ですな。




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-10-14 (火) 01:13:17 (1403d)