Stringの空判定
変数が空文字でないかどうかを判定する場合、何通りか方法があるみたい。
variablesのヘルプで空文字判定にstrlenの記載がある。
:h variables
先頭の0によって8進数とみなされるのを防いだり、異なる基数を使うには|str2nr()|を 使う。 ブール(真理値)演算には数値が使われる。0は偽を意味し、非0は真を表す。 Note 次のコマンドをみると > :if "foo" "foo"は0に変換され、それは偽を意味する。文字列が空ではないか調べるためには strlen()を使用して次のようにする。 > :if strlen("foo")
他のヘルプでは
if foo != ""
で判定されている事が多い。
自分的には「!=」で判定だな。
それは、さておきvariablesヘルプに載っていた「文字列を数値として評価するには?」には気を付けねば。
文字列を強制的に数値に変換するには0を足す: > :echo "0100" + 0 < 64 ~
なるほど。
まだちらっとしか読んでいないから、27章に進んだ時に合わせてきちんと読もう。