1 tí về F#

Giới thiệu 1 tí về ngôn ngữ lập trình F#

F# (phát âm F Sharp) là 1 ngôn ngữ lập trình đa mô hình (multi-paradigm), hỗ trợ mạnh về lập trình chức năng (hàm). Ngoài ra với F#, bạn vẫn có thể lập trình hướng đối tượng.

Phát triển từ ngôn ngữ lập trình Ocaml. F# thời kì đầu phát triển bởi Don Syme thuộc Microsoft Research. Hiện nay đang được phát triển tại Microsoft Developer Division và cũng đang được phân phối như 1 ngôn ngữ được hỗ trợ đầy đủ ở .NET Framework. Công cụ lập trình của F# là Visual Studio 2010.

Chúng ta có thể bắt đầu tìm hiểu F# bằng Console Application.

 

1.  Chương trình Hello World

Các bạn tạo mới 1 Console Application bằng ngôn ngữ lập trình F# như sau:

Sau khi khởi động Visual Studio 2010 . Bạn vào File/New Project…  Trong mục Other Languages , bạn chọn nhánh Visual F# và chọn F# Application, sau khi đặt tên Project  và đặt đường dẫn, bạn click vào nút OK.

clip_image002

Sau đó sẽ mang bạn đến cửa sổ :

clip_image004

Cả cửa sổ soạn thảo file Program.fs chỉ có 1 dòng chú thích code để giới thiệu trang web về nguồn tài liệu tham khảo của F#: http://fsharp.net

Các tham chiếu đến thư viện đã được add tự động trong solution

clip_image005

F# dùng hàm printf để in kết quả lên màn hình console. Trong cửa sổ soạn thảo bạn gõ vào dòng:

printf “Hello World”

như hình sau:

clip_image006

Sau đó, bạn chạy thử (Ctrl + F5) :

clip_image008

Bạn muốn in ra sau đó xuống dòng thì thay printf bằng printfn

Thật nhanh chóng và dễ dàng đúng không nào!!

 

2. Khai báo biến

Các kiểu dữ liệu của F# không cần khai báo rõ ràng và sẽ được trình biên dịch tự sinh ra khi biên dịch. Đồng thời F# vẫn hỗ trợ khai báo kiểu dữ liệu rõ ràng.  

Cú pháp:

let <tên biến> = <giá trị khởi tạo>

Ví dụ:

let int1 = 1

let int2 = 2

let int3 = int1 + int2

 

3.  Hàm kiểu số nguyên

Cú pháp:

let <tên hàm> <tham số 1> [<…>] [<tham số n>] = <thân hàm>

Ví dụ:

let DienTich x = x*x

 

Thao tác gọi hàm:

<tên hàm> <tham số 1> [<..>] [<tham số n>]

Ví dụ:

let KetQua = f (int1 + 1)

 

4. Hàm đệ qui

Cú pháp:

let rec <tên hàm> <tham số 1> [<..>] [<tham số n>] = <thân hàm>

Ví dụ:

 

Hàm tính giai thừa của số tự nhiên n:

let rec GiaiThua n = if n=0 then 1 else n * GiaiThua (n-1)

 

Hàm tính ước chung lớn nhất của 2 số a và b:

let rec UCLN a b =                      

    if a=0 then b

    elif a<b then UCLN a (b-a)          

    else UCLN (a-b) b

 

 

F# còn rất nhiều điều thú vị đang chờ bạn đó, hãy cùng mình khám phá nhé ^^

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s