記号表作成の為の、こまごましたメソッド2
もうひとつメソッドを作ったので紹介します。
昨日紹介したリテラルをチェックする時、整数かどうかを調べるのですが、
整数の前に - (マイナス)の符号が付いている場合があります。
これを普通に .isdigit で調べると false になって整数じゃないと判断されてしまいます。
そこで、マイナスが空いている場合でも整数判断出来るように、メソッドをつくります。
def check_int(self, st):
i = 0
length = len(st)
intcheck = 'true'
if st[0] == '-': #最初の文字がマイナスなら
i = 1 #一文字飛ばす
while i < length:
if st[i] not in self.token.digit:
intcheck = 'false'
break
i = i + 1
return intcheck
スクリプト内のコメントで書いたように、
if st[0] == '-':
i = 1
文字列の最初の文字(st[0])がマイナスなら
次の文字(st[1])から整数かどうかを調べるという簡単なメソッドです。
文字列をリストのように添字で一文字ずつ指定できるPythonならではの楽ちん処理です。
こういう恩恵は最大限に受けないと!