정수 표현식을 문자 리터럴과 비교하려고하는데 컴파일러가 형식 불일치에 대해 불평합니다.F #가 char 값과 일치합니다.
let rec read file includepath =
let ch = ref 0
let token = ref 0
use stream = File.OpenText file
let readch() =
ch := stream.Read()
let lex() =
match !ch with
| '!' ->
readch()
| _ -> token := !ch
채널은 사용하기 -1 파일 마커의 끝으로 순서대로 반환 stream.Read 무엇 때문에 INT 수 있습니다. '!'
을 int '!'
으로 바꾸어도 여전히 작동하지 않습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
,하지만 어떻게 처리합니까 -1 파일 마커의 끝? – rwallace
@ 그냥 값을 먼저 얻은 다음 유형 변환 –