真偽値比較表
C | 0 のみ偽。 |
Perl | 数値の 0、文字列の "0"、空文字列 ""、未定義値のみ偽。 |
Ruby | false, nil のみ偽。 |
Python | False、None、数値の 0、空文字、空のコンテナ(string、list、tuple、set、frozenset、dict など)のみ偽。 |
VimScript | 数値の 0 のみ偽。文字列は暗黙にatoi()と同様の方法で数値に変換される。数値・文字列以外は真偽値として使えない。 |
VBScript | Empty, Null, False, 0, "False", "0" は偽。文字列は大文字・小文字を区別しない。半角・全角も区別しない。 |
C (gcc -W -Wall -pedantic)では浮動小数点数を真偽値として使えた。コンパイルエラーになると思っていたのに。
printf(0.1 ? "true" : "false"); // true printf(0.0 ? "true" : "false"); // false
参考:
http://www.kent-web.com/perl/chap5.html
http://www.ruby-lang.org/ja/man/?cmd=view;name=%C0%A9%B8%E6%B9%BD%C2%A4#if
http://www.python.jp/doc/release/ref/Booleans.html#Booleans
http://winofsql.jp/pinpoint/vbscripttruefalse.htm
vim の :h variables