어떻게 F #에서 Console.Readline을 사용합니까? Console.Writeline과 달리, 내가 전화 할 때 그것은 존중받지 못한다.Console.Readline이 작동하지 않지만 Console.Readline()이 작동하지 않는 이유는 무엇입니까?
답변
당신 만의 readline 기능을 가리키는 대리자를 구축하고
let s = Console.ReadLine
를 사용하는 경우. 실제로 함수를 실행하려면
let s = Console.ReadLine()
이 필요합니다. 타입 추론이 컴파일러 경고를받지 않는다는 것을 제외하고 이것은 C# 구문과 같습니다.
"영광을 얻지 못했다"는 것은 무엇을 의미합니까? 여기에 그냥 VS2010b1에 쓴 작은 콘솔 응용 프로그램, 그리고 그것을 잘 작동합니다 :
open System
let line = Console.ReadLine()
Console.WriteLine("You wrote {0}", line)
// Just to make it pause
let unused = Console.ReadLine()
당신은 비주얼 스튜디오 내에서 F # 대화에서 코드를 실행하려고합니까? 그렇다면 브라이언 (Brian) 지사의 설명대로 문제가 될 수 있습니다.
그러나 F # Interactive를 명령 줄에서 사용할 때 동일한 문제가 발생하지 않았습니다.
Microsoft F# Interactive, (c) Microsoft Corporation, All Rights Reserved
F# Version 1.9.6.16, compiling for .NET Framework Version v4.0.20506
Please send bug reports to [email protected]
For help type #help;;
> open System;;
> let line = Console.ReadLine();;
Hello world
val line : string = "Hello world"
같은 문제를 보이지 않았다 F # 대화에서 브라이언의 루프 코드를 실행 : 다음 세션의 전체 성적이다.
최종 줄 : Visual Studio의 F # Interactive에서는 깨졌지만 명령 줄이나 전체 콘솔 앱에서 대화식으로 실행하면 안되는 것 같습니다.
대화 형 모드에서 사용하고 있지 않습니다. 나는 콘솔 앱을 거의 만들지 않고있다. –
음 ... 이상합니다. VS2010b1이 설치된 버전입니까? –
이상한. 어제 나는 내가 시도한 것에 상관없이 그것을 작동시킬 수 없었다. 이제는 내가 시도한 것에 관계없이 실패 할 수는 없습니다. –
저는 베타 1 상자가 없지만 이전에는 대화 형 UI와 백그라운드 프로세스간에 통신하는 백그라운드 명령이 ReadLine()에 표시되는 버그가 있었음을 알고 있습니다. 암호. 강조 표시하고 '대화 형으로 보내기'를 인쇄하면
let Foo max =
let rec Loop i =
if i < max then
let line = System.Console.ReadLine()
printfn "line = %s" line
Loop (i+1)
Loop 1
Foo 12
인쇄물을 조사하는 것이 흥미로울 수 있습니다. 아마도 예상치 못한 재미있는 몇 줄의 줄이 보일 것입니다. 그리고 줄을 따라 입력하십시오.
그래, 그게 문제가 될 수있는 것처럼 보입니다. 베타 1에서 처음 시도했을 때 첫 번째 줄은 "line ="입니다. –
차이점은 ReadLine 호출이 끝나면 빈 괄호를 사용하고 있습니다. 아니었다. –
- 1. IE9에서는 작동하지 않지만 Firefox에서는 작동하는 이유는 무엇입니까?
- 2. 데이터 읽기가 작동하지 않지만 그 이유는 무엇입니까?
- 3. ThreadPool.GetAvailableThreads가 작동하지 않는 이유는 무엇입니까?
- 4. ! isset이 작동하지 않는 이유는 무엇입니까?
- 5. @singleton이 작동하지 않는 이유는 무엇입니까?
- 6. swfloader가 작동하지 않는 이유는 무엇입니까?
- 7. base64EncodeData가 작동하지 않는 이유는 무엇입니까?
- 8. AVD에서 작동하지 않는 이유는 무엇입니까?
- 9. 코드가 작동하지 않는 이유는 무엇입니까?
- 10. INotifyPropertyChanged가 작동하지 않는 이유는 무엇입니까?
- 11. GetRequestToken이 작동하지 않는 이유는 무엇입니까?
- 12. 쿼리가 작동하지 않는 이유는 무엇입니까?
- 13. ConcurentSet이 작동하지 않는 이유는 무엇입니까?
- 14. python이 작동하지 않는 이유는 무엇입니까
- 15. FaceboxRender가 작동하지 않는 이유는 무엇입니까?
- 16. JSON.parse가 작동하지 않는 이유는 무엇입니까?
- 17. sendRedirect가 작동하지 않는 이유는 무엇입니까?
- 18. UIView.exclusiveTouch가 작동하지 않는 이유는 무엇입니까?
- 19. Clipboard.GetText가 작동하지 않는 이유는 무엇입니까?
- 20. serialScroll이 작동하지 않는 이유는 무엇입니까?
- 21. 여기서 'url'이 변수로 작동하지 않는 이유는 무엇입니까?
- 22. CDI 주입이 일부 모듈에서는 작동하지 않지만 다른 모듈에서는 작동하지 않는 이유는 무엇입니까?
- 23. .live()가 내 맞춤 이벤트와 함께 작동하지 않지만 .bind()가 작동하지 않는 이유는 무엇입니까?
- 24. Entourage가 Exchange 2007에서 작동하지 않는 이유는 무엇입니까?
- 25. file_exists()가 작동하지 않는 이유는 무엇입니까?
- 26. 이 jquery가 IE에서 작동하지 않지만 Firefox에서 작동하는 이유는 무엇입니까?
- 27. IE에서이 jQuery 코드가 작동하지 않는 이유는 무엇입니까?
- 28. Read()가 예상대로 작동하지 않는 이유는 무엇입니까?
- 29. 이 데이터 바인딩이 작동하지 않는 이유는 무엇입니까?
- 30. 이 SQL 문이 작동하지 않는 이유는 무엇입니까?
예. Console.ReadLine은 "unit -> string"값입니다. the()를 추가하면 인수로 기대하는 'unit'을 전달합니다. – YotaXP
+1 -이 동작은 함수의 다른 인수처럼() 앞에 공백이 있어야 더 명확해질 수 있습니다. –
컴파일러에 경고가 표시됩니다! ** ** ** **을 (를) 사용하면. 당신이'Console.ReadLine() |> ignore'라고 쓰는 것처럼 보입니다. 함수의 출력이 캡처되거나 무시되는지 여부를 확인하지 않는 것은 C#이라고 주장합니다. –