안녕하세요. 이 리포지토리가 아직 운영되는지는 모르겠지만,
무한루프가 유독 생기는 코드가 있어 공유드립니다.
barStr이 계속 무한생성되면서 cursor가 계속 +1이 되는 것 같아요.
def replaceAllBar(eqString: str) -> str:
'''
replace hat-like equation string.
'''
def replaceBar(eqString: str, barStr: str, barElem: str) -> str:
cursor = 0
iteration = 0 # <-추가
while True and iteration < 50: # <-추가
cursor = eqString.find(barStr)
if cursor == -1:
break
try:
eStart, eEnd = _findBrackets(eqString, cursor, direction=1)
bStart, bEnd = _findOutterBrackets(eqString, cursor)
elem = eqString[eStart:eEnd]
beforeBar = eqString[0:bStart]
afterBar = eqString[bEnd:]
eqString = beforeBar + barElem + elem + afterBar
except ValueError:
return eqString
iteration +=1
if iteration == 50: # <-추가
eqString = eqString.replace(barStr, "\\overline") # <-추가
eqString = eqString.replace("\\overline\\overline", "") # <-추가
return eqString
for barKey, barElem in barDict.items():
eqString = replaceBar(eqString, barKey, barElem)
return eqString
안녕하세요. 이 리포지토리가 아직 운영되는지는 모르겠지만,
무한루프가 유독 생기는 코드가 있어 공유드립니다.
barStr이 계속 무한생성되면서 cursor가 계속 +1이 되는 것 같아요.