F#
-
Fsharp.Data (F# Data) Json parsing exampleF# 2016. 10. 20. 00:50
#1. set of properties { "a" : "apple", "b" : "banana", "c" : "cocoa" } open FSharp.Data open FSharp.Data.JsonExtensions [] let main argv = let json_txt= """{"a":"apple","b":"banana","c":"cocoa"}""" JsonValue.Parse(json_txt).Properties |> Array.iter(fun (key,value) -> printfn "%s:%s" key (value.AsString())) 0 // return an integer exit code #2. array of values ["apple","banana","cocoa"] open FShar..
-
F# 타이머 예제F# 2016. 3. 11. 20:57
#1. 매 1초마다 한번씩 함수를 실행하는 예제 (auto reset mode)open System let OnTrigger() = Console.WriteLine("timer") [] let main argv = let event = new System.Threading.AutoResetEvent(true) let timer = new System.Timers.Timer(1000.0) timer.Elapsed.Add(fun _ -> OnTrigger()) timer.Start() while(true) do let v = Console.ReadLine() ignore printfn "%A" argv 0 // 정수 종료 코드 반환 #2. 매 1초마다 한번씩 함수를 실행하는 예제 (manual reset m..
-
F# Async Task 예제F# 2016. 3. 11. 19:14
이번에는 Async task를 사용하는 예제이다.Thread를 사용한 구문 보다는 이 방법을 추천한다. open Systemopen System.IOopen System.Threadingopen System.Threading.Tasks let task1 = async { while(true) do Console.WriteLine("task1"); Thread.Sleep(1000) } let task2 = async { while(true) do Console.WriteLine("task2") Thread.Sleep(1000) } []let main argv = let task1 = Async.StartAsTask(task1) let task2 = Async.StartAsTask(task2) //Async..
-
F# 에서 쓰레드 사용하기 예제F# 2016. 3. 11. 17:41
간단한 쓰레드 사용 방법에 대해서 알아보자.단, 일반적인 코딩에서는 Async 계열 API를 사용하여쓰레드와 동일한 동작을 구현 하므로 이 예제는 참고만 하도록 한다. open Systemopen System.IOopen System.Threading let ThreadA() = while(true) do printfn "[A] Timer tick %A" DateTime.Now Thread.Sleep(1000); let ThreadB() = while(true) do printfn "[B] Timer tick %A" DateTime.Now Thread.Sleep(1000); []let main argv = let thread_a = new Thread(new ThreadStart(fun _ -> Thre..
-
웹 데이터 요청하고 xpath로 데이터 추출하기F# 2015. 12. 26. 22:33
이번 시간에는 F#을 이용하여 Web 데이터를 요청하고, xpath로 데이터를 추출하는 방법에 대해서 알아봅니다. 일반적으로 html 문서에서 데이터를 추출하기 위해서는 정규식을 이용하여 파싱하여야 합니다.이때 여러 위치에 있는 데이터를 추출하거나, 반복되는 데이터를 추출해야하는 경우가 많은데각 경우에 대해 모두 정규식을 이용하여 처리하는것은 여간 번거로운 작업이 아닐 수 없습니다. xpath는 xml 문서의 데이터 위치를 url과 비슷한 형태로 지정하여 조회 할 수 있는 기술입니다.이를 이용하면 데이터 추출을 매우 간단하고 직관적으로 처리 할 수 있습니다. 문제는, html 문서는 잘 정의된 xml 문서가 아니므로, xpath를 사용 할 수가 없었습니다. 이 문제를 해결하기위해 나온 라이브러리가 바로 ..
-
60초안에 살펴보는 F# 문법F# 2015. 12. 5. 00:14
이 글은 http://fsharpforfunandprofit.com/posts/fsharp-in-60-seconds/ 문서를 기본으로 하여 작성되었습니다. 표준 C언어와 비슷한 문법을 가진 언어들과 F#의 주요한 차이점.코드 블럭을 구분하기 위해 대괄호를 사용하지 않습니다. 대신 파이썬과 같이 들여쓰기를 사용합니다.컴마가 아닌 공백을 사용하여 파라미터를 구분합니다. 주석// 한줄 주석은 슬래시 두개(* 여러줄 주석은 (* ... *) 을 이용하여 입력합니다. 이렇게 말이죠 *) 값 (불변)let myInt = 5let myFloat = 3.14let myString = "hello" //타입을 지정하지 않아도 자유롭게 지정할 수 있습니다. 리스트(목록)let twoToFive = [2;3;4;5] //중..
-
함수형 언어 F# Hello worldF# 2015. 12. 4. 01:06
천리길도 한걸음 부터.본 강좌는 함수형 언어를 다루는 만큼 절차지향 또는 객체지향 언어에 대한 기본적인 지식을 가지고 있는 독자를 대상으로 한다. 첫 시간으로 F# Hello World 를 작성해 보도록 하자.open System[]let main argv = printfn "Hello world!" Console.ReadLine() |> ignore 0 // return an integer exit code Visual Studio 로 신규 프로젝트를 생성 한 경우, 기본적인 코드 골격이 어느정도 작성되어 있어 조금의 수정만 거치면 바로 hello world를 완성 할 수 있다. 그럼, 코드를 분석해 한줄한줄 보도록 분석해 보도록 하자.첫줄의 open 키워드는 자주 사용되는 namespace 를 선언하..