読者です 読者をやめる 読者になる 読者になる

Stringの空判定

vim

変数が空文字でないかどうかを判定する場合、何通りか方法があるみたい。
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章に進んだ時に合わせてきちんと読もう。