3
F #에서 놀고 있었고 이해할 수없는 문제가 있음을 알았습니다. 나는 사용자로부터 정수 입력하는 일련의를 얻을 수 및 배열에 저장 싶은 말 :F # for 루프 오류
[<EntryPoint>]
let main =
let n = Console.ReadLine() |> int
let inputVals = Array.zeroCreate n
for i in 0 .. n - 1 do
inputVals.[i] <- (Console.ReadLine() |> int)
printf "%A\n" inputVals
0 //compiler error here. The type does not match the expected type
하지만 오류가에서 오는 것으로 의심되는 주변이 일부 재생 후 오류
This expression was expected to have type string [] -> int but here has type int
을 제공합니다 for 루프. 하지만 왜 그것이 문자열 [] -> int를 기대하는지 알 수 없습니다. 이것은 매우 간단한 문제인 것처럼 보이지만, 나는 무엇이 계속되고 있는지 알아낼 수 있습니다.
감사합니다. 이것은 F #이 엔트리 포인트에 입력 인수를 허용하지 않는다는 것을 의미합니까? 기본적으로 F #에서 가능합니다 :'public static void Main()'? – mashrur
@mashrur 당신이 그렇게 할 수 없다고 확신합니다. 진입 점 함수 서명은 ['string [] -> int'] (http://msdn.microsoft.com/en-us/library/dd402151.aspx)이고 그 것입니다 :) –
@mashrur 인수는 항상 거기에 있습니다. 하지만 당신은 물론 그들을 무시할 수 있습니다 :'let main _ = ...' – Tarmil