1
F #에 익숙하지 않습니다. 너무 바보스럽게 여겨지면 죄송합니다. FileSystemWatcher
을 통해 파일 생성 및 삭제 이벤트를 청취하려고합니다. 이제 디렉터리에 추가되거나 삭제 된 파일을 기반으로 변경 횟수를 표시하는 감시자를 만들고 싶습니다. 따라서 파일이 추가 될 때마다 디렉토리 수가 1 씩 증가하고 파일이 삭제되면 감소합니다. 아래에 내 코드 :이 표현식에는 FSI_0024.xxx 유형이 있어야하지만 여기에는 FSI_0017.xxx 유형이 있습니다.
let watcher = new FileSystemWatcher(@".")
watcher.EnableRaisingEvents <- true
let created = watcher.Created
let deleted = watcher.Deleted
type Change =
| Addition of string
| Removal of string
let a = created |> Observable.map (fun eventArgs ->
Addition eventArgs.Name)
let r = deleted |> Observable.map (fun eventArgs ->
Removal eventArgs.Name)
let changes = Observable.merge a r
let collector count state =
match state with
| Addition x -> count + 1
| Removal x -> count - 1
let createdCount =
changes |> Observable.scan (fun count s -> collector count s) 0
그러나 다음과 같은 오류를 제공 Observable.scan
에 :
This expression was expected to have type
FSI_0024.Change
but here has type
FSI_0017.Change
유형은 동일하지만 난이 FSI_xxxx 부분을 이해하지 않습니다. 무엇이 문제가 될 수 있습니까?
fsi 세션을 재설정하십시오. 문제를 야기하는 일부 오래된 정의가 있습니다. –
@JohnPalmer 시간을 절약 해 주셔서 감사합니다. –