Ich versuche, F # zu lernen, indem sie einige der Euler Probleme gehen und ich fand eine Frage, die ich nicht in der Lage gewesen, herausfinden. Das ist meine naive Lösung.F #: Warnung FS0020: Dieser Ausdruck sollte Typ ‚Einheit‘, sondern hat Typ ‚Bool‘
let compute =
let mutable f = false
let mutable nr = 0
while f = false do
nr <- nr + 20
f = checkMod nr
nr
Wenn ich dies tun erhalte ich die Fehlermeldung Warnung FS0020: Dieser Ausdruck sollte Typ ‚Einheit‘, sondern hat Typ ‚Bool‘ auf dem Ausdruck „nr < - nr 20“. Ich habe versucht, die Ausdrücke umzuschreiben und zu verschieben, und ich bekomme immer diesen Fehler in der Zeile unterhalb der while-Anweisung.
Ich schreibe dies mit VS2010 Beta.
Dank, dass das Problem gelöst Kann nicht glauben, dass ich verpasst, dass so lange :) es nach starren Mein Ziel ist es, die funktionale Programmierung Stil, aber mit wenig Zeit zu lernen, ein, es ist sehr zu studieren langsam verarbeiten. – Paxxi
Ja, fair genug. Funktionale Programmierung ist oft ein enormer Schock für Programmierer, die vorher nur imperative Sprachen benutzt haben (z.B. C/C#/Java). Es erfordert eine völlig andere Denkweise, die im Laufe der Zeit erlernt werden kann. – Noldorin
Aber eines der schönen Dinge an F # ist, dass Sie mit einem vertrauten Kodierungsstil (Imperativ) beginnen und in das funktionale Mindeset einsteigen können, während Sie immer noch produktiv sind. –