do 바인딩
do 바인딩 (Do Bindings)
do 바인딩은 함수나 값을 정의하지 않고 코드를 실행할 때 쓰는 문법이에요. F#에서는 거의 모든 것이 표현식이나 바인딩으로 표현되지만, 딱 "그냥 실행만 하고 싶은" 코드 조각이 필요할 때가 있어요. 그럴 때 바로 do 바인딩을 사용하면 됩니다. 그리고 do 바인딩은 클래스 안에서도 쓸 수 있어요. 이 경우에는 클래스의 do 바인딩 문서를 함께 보세요.
출처: https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/functions/do-bindings
본문
구문 (Syntax)
[ attributes ]
[ do ]expression
설명 (Remarks)
함수 정의나 값 정의와는 별개로 코드를 실행하고 싶을 때 do 바인딩을 사용해요. do 바인딩 안의 표현식(expression)은 반드시 unit을 반환해야 합니다. 즉, 실행만 하고 아무 값도 돌려주지 않는 표현식이어야 하죠. 그리고 최상위(top-level) do 바인딩에 적힌 코드는 해당 모듈이 초기화될 때 실행돼요. 키워드 do 자체는 생략할 수 있습니다.
최상위 do 바인딩에는 특성(attribute)을 붙일 수도 있어요. 예를 들어 프로그램이 COM interop을 사용한다면, 프로그램에 STAThread 특성을 적용하고 싶을 수 있어요. 이때 do 바인딩에 특성을 붙이면 되는데, 아래 코드가 그 예시입니다.
open System
open System.Windows.Forms
let form1 = new Form()
form1.Text <- "XYZ"
[<STAThread>]
do Application.Run(form1)