8

文字列操作を行うVimscriptに取り組んでいます。別の文字列にいくつかの倍数を掛けて文字列を生成する方法があるかどうか疑問に思っています。たとえば、'a' * 55つのaを生成します'aaaaa'。今まで、私は次のwhileようなループでそれを行ってきました:

let l:char = 'a'
let l:x = 5
let l:i = 0
let l:somestr = ""
while l:i < l:x
    let l:somestr .= l:char
    let l:i += 1
endwhile

これは私がしていることに対してひどく冗長に思えます。これをよりコンパクトにする方法はありますか?

4

1 に答える 1

11

repeat()関数はそれを行うことができます。文字列だけでなく、リスト要素についても:

:let l:somestr = repeat(l:char, l:x)
于 2013-03-08T20:45:08.843 に答える