Lessons: Basics
Lessons covering the foundational topics. New to Elixir? This is the place to start.
Cài đặt, cái kiểu phổ thông và cơ chế hoạt động.
List (Danh sách), tuple, keyword (danh sách từ khoá), map, dict (từ điển) và functional combinators (toán tử kết hợp hướng chức năng)
Các thuật toán thao tác với các collection (tập dữ liệu)
Pattern matching (so trùng mẫu) là chức năng lợi hại của Elixir, nó giúp chúng ta so khớp các giá trị đơn giản, các kiểu cấu trúc dữ liệu và cả hàm. Trong bài này chúng ta sẽ cùng khám phá cách cơ chế này.
Trong bài này ta sẽ xem qua các loại cấu trúc điều khiểu có sẵn trong Elixir.
Trong Elixir và nhiều ngôn ngữ lập trình hàm, hàm là “first class citizen”. Chúng ta sẽ học về các kiểu hàm trong Elixir, chúng khác nhau như thế nào, và dùng chúng ra sao.
Pipe |>
lấy kết quả của một biểu thức làm tham số đầu tiên cho một biểu thức khác.
Chúng ta biết từ kinh nghiệm là để tất cả các hàm vào trong một file khá là không tốt. Trong bài học này, chúng ta sẽ học cách nhóm các hàm lại với nhau, và định nghĩa một loại map đặc biệt là struct
để tổ chức code một cách hiệu quả hơn.
Trước khi đi sâu vào Elixir thì chúng ta cần tìm hiều về mix đầu tiên. Nếu bạn đã quen thuộc với Ruby thì mix tương ứng với Bundler, Rubygems và Rake hợp lại. Mix là một phần quan trọng trong bất cứ dự án Elixir nào và trong bài này chúng ta sẽ đi vào một vài tính năng thú vị của nó. Để xem mix có tất cả những chức năng gì thì chúng ta chạy mix help
.
Tính cho đến thời điểm hiện tại thì chúng ta làm việc hoàn toàn bên trong iex
, tuy nhiên việc đó có rất nhiều hạn chế. Để tạo được một dự án có ý nghĩa hơn thì chúng ta cần chia code ra thành nhiều file cho dễ quản lý, và mix giúp chúng ta làm việc đó với chức năng projects
Làm việc cùng và tạo mới sigils.
Viết tài liệu cho code Elixir
List comprehension là một cú pháp hỗ trợ việc lặp qua các phần tử trong Elixir. Trong bài này, chúng ta sẽ cùng xem cách sử dụng comprehension cho iteration và generation.
String, Chuỗi kí tự (Char List), Chữ cái (Graphemes) và Codepoints.