つか元々真偽値の類いでは無い値も返す関数で真偽値の比較をする事が間違いでは?返り値-1とかは別の形で補足すべきだろ。