12/08/2018, 17:05

Học Elm Căn Bản - Phần 1

I. GIới thiệu Elm là ngôn ngữ lập trình hàm biên dịch sang Javascript. Nọ cạnh tranh với các tool để lập trình website và web app khác như React. Sự tiện dụng của Elm nằm ở sự đơn giản, dễ dùng và chất lượng. II. Cài đặt Mac — installer Windows — installer Anywhere — npm installer or build ...

I. GIới thiệu Elm là ngôn ngữ lập trình hàm biên dịch sang Javascript. Nọ cạnh tranh với các tool để lập trình website và web app khác như React. Sự tiện dụng của Elm nằm ở sự đơn giản, dễ dùng và chất lượng.

II. Cài đặt

  1. Mac — installer
  2. Windows — installer
  3. Anywhere — npm installer or build from source

III. Kiến thức cơ bản Phần này sẽ giới thiệu cơ bản về Elm. Chúng ta sẽ khám phá values, functions, lists, tuples và records. Những kiến thức này có nét tương đồng với các ngôn ngữ khác như javascript, python hay java

  1. Values: Mở terminal và gõ 1 chuỗi

Elm sử dụng (++) để nối 2 chuỗi lại với nhau. Ghi nhớ rằng 2 chuỗi sẽ nối lại theo đúng với những gì được nhập. nghĩa là khi chúng ta kết hợp "hello" và "world" thì kết quả là "helloworld", không có dấu cách Các phép tính cũng được thực thi như bình thường:

Không giống như Javascript, Elm phân biệt rõ giữa integers và floating point. Giống như python 3, lấy floating point division bằng (/) và lấy integer devision bằng cách dùng (//)

  1. Functions: Chúng ta sẽ viết hàm check số âm isNegative. Hàm này sẽ nhận số và kiểm tra xem nó có nhỏ hơn 0 không. Kết quả trả về true hoặc false

Chú ý là hàm của Elm nhìn khác với các ngôn ngữ khác như JS và Python. Thay vì bọc các tham số bằng ngoặc đơn và tách chúng bằng dấu , chúng ta sử dụng dấu cách. do đó add(3,4) sẽ thành add 3 4 Nó sẽ nhìn ngắn gọn hơn. Thư viện elm-html là một ví dụ điển hình. 3. If Expressions Khi bạn muốn sử dụng điều kiện trong Elm, bạn sẽ dùng if-expression

Các từ khóa if then else được sử dụng để phân tách điều kiện và 2 nhánh. do đó chúng ta không cần ngoặc tròn cũng như ngoặc nhọn Elm không có khái niệm truthiness, do đó số và chuỗi và list không thể sử dụng như boolean. nếu chúng ta cố thử, Elm sẽ báo với chúng ta rằng cần phải làm việc với 1 giá trị boolean. Cùng tạo 1 hàm báo cho chúng ta biết nếu 1 số lớn hơn 9000

  1. Lists List là 1 trong những cấu trúc dữ liệu phố biến trong Elm. Nó lưu trữ 1 chuỗi các thứ liên quan, giống array trong Js. List có thể lưu nhiều giá trị. Các giá trị phải có chung kiểu. DƯới đây là 1 số ví dụ trong List

  1. Tuples Tuples là 1 cấu trúc dữ liệu hữu dụng khác. Nó có thể lưu 1 số lượng cố địch các giá trị. Mỗi giá trị có thể khác kiểu. Nó được dùng khi bạn cần trả về nhiều hơn 1 giá trị từ function, Function sau nhận giá trị name và trả về message cho user

  1. Records Record là 1 tập hợp các cặp key-value, giống như object trong Js và python. Bạn sẽ thấy nó thực sự phổ biến và hữu dụng trong Elm. Hãy xem 1 số ví dụ cơ bản

Bạn có thể tạo records bằng cách dùng dấu ngoặc vuông và truy cập các trường bằng dấu chấm. Elm cũng có 1 phiên bản của records và truy cập như function.Bằng cách sử dụng biến với dấu chấm, bạn như đang nói là xin hãy kết nối trường này với name là. Điều này có nghĩa là hàm .name sẽ get name của records

Khi bạn sử dụng functions với records. Bạn có thể sử dụng các pattern matching để giúp mọi thứ nhẹ nhàng hơn

Chúng ta có thể pass bất kỳ record nào miễn nó chứa trường age Nó thường được sử dụng để update gái trị trong records

1 điều quan trọng là chúng ta không update theo kiểu destructive. Khi chúng ta muốn update trường bill, chúng ta tạo 1 record mới thay vì ghi đè lên cái cũ. Elm khiến nó trở nên hiệu quả hơn bằng cách chia sẽ nội dung nhiều nhất có thể. Nếu bạn update 10 trường, Record mới sẽ chia sẽ 9 giá trị k đổi.

Nguồn

0