takeWhileの実装