친구, 파일의 내용이 "1 + 2 * 3"인 경우, 스퀵 액스의 작업 공간에서 직접 표현한 액면의 결과는 9
이고, 원하는 것은 7
입니다. 파일 내용 1+2*3
을 파일에서 읽었습니다. 이런 코드가 잘Squeak4.1에서 파일의 문자를 구문 분석하려면 어떻게해야합니까?
ReadFrom
"read the equation from ./formular.txt"
| fileContents |
fileContents := FileStream
readOnlyFileNamed: 'test.txt'
do: [:f | f contents ].
^fileContents.
을 작동하지만 어떻게 문자열의 5 caracters을 저장할 수있는 콜렉션에 "+ 2 * 3 1"더 나는 방정식을 계산하는 이진 트리를 사용할 수 있습니까? 누군가 나에게 힌트를 줄 수 있니? 고마워요 첫 번째 :)
1 + 2 * 3은 (1 + 2) * 3을 의미하므로 산술 연산자를 포함한 메시지 전송은 항상 왼쪽 연관입니다. –