else 문 앞에있는 행은 분명히 유닛을 기대했지만 부울을 대신 가지고 있습니다. 나는 F #으로 시작하고 있지만 이걸 짐작할 수는 없다.누구나이 F # 스 니펫의 문제점을 알 수 있습니까?
전에 Stackoverflow를 사용 해본 적이 없으며 코드 상자가 여전히 혼란 스럽기 때문에 레이아웃과 조금 싸우고 있습니다! 원본의 간격은 들여 쓰기되어 있습니다.
let m = Dictionary<int, int>()
let rec fib i =
match i with
| 1 -> i
| 0 -> i
| _ ->
if m.ContainsKey(i) then
if m.[i] > 0 then
m.[i]
else
let x = fib(i - 1) + fib(i - 2)
m.Add(i, x)
m.[i]
누구든지이 게시물에 간격을 유지하는 방법을 알려 주시면 감사하겠습니다.
을 음, F 번호에 매우 능숙하지, 그래서 내가 잘못 무엇인지 말할 수 있지만, 코드를 작성의 기능 및 declarational 방식의 결합이 유형은 아니다 아주 좋은 생각이야. :-) – nothrow
@Yossarian - 이것은 실제로 F의 매우 일반적인 패턴입니다. –
@JohnPalmer, 정말요? 나는 내가 그것을 보지 못했기 때문에 기쁘다. 나는 일종의 순수 주의자이다. :-) – nothrow