Lessons: Basics - Elixir School

Do you want to pick up from where you left of? Take me there No thanks Want to pick up from where you left of? Take me there Elixir School
  • Why Elixir?
  • Lessons
    • Basics

      1. Basics
      2. Collections
      3. Enum
      4. Pattern Matching
      5. Control Structures
      6. Functions
      7. Pipe Operator
      8. Modules
      9. Mix
      10. Sigils
      11. Documentation
      12. Comprehensions
      13. Strings
      14. Date and Time
      15. IEX Helpers
    • Intermediate

      1. Custom Mix Tasks
      2. Erlang Interoperability
      3. Error Handling
      4. Executables
      5. Concurrency
    • Advanced

      1. OTP Concurrency
      2. OTP Supervisors
      3. OTP Distribution
      4. Metaprogramming
      5. Umbrella Projects
      6. Specifications and types
      7. Behaviours
      8. Protocols
    • Testing

      1. Basics
      2. Doctests Coming Soon
      3. Bypass library
      4. Mox library
      5. StreamData library
    • Data Processing

      1. GenStage library
      2. Flow library Coming Soon
      3. Broadway library Coming Soon
    • Ecto

      1. Basics
      2. Changesets
      3. Associations
      4. Querying: Basics
      5. Querying: Advanced Coming Soon
    • Storage

      1. Erlang Term Storage (ETS)
      2. Mnesia
      3. Cachex library Coming Soon
      4. Redix library Coming Soon
    • Miscellaneous

      1. Benchee library
      2. Plug library
      3. Embedded Elixir (EEx)
      4. Debugging
      5. Nerves library
      6. Guardian library
      7. Poolboy library
      8. NimblePublisher library
      9. Lua library
  • Blog
  • Get Involved
  • vi ar bg bn de el en es fa fr id it ja ko ms no pl pt ru sk ta th tr uk vi zh-hans zh-hant
Lessons: Basics

Lessons covering the foundational topics. New to Elixir? This is the place to start.

Cơ bản

Cài đặt, cái kiểu phổ thông và cơ chế hoạt động.

Các tập dữ liệu

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)

Enum

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)

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.

Cấu trúc điều khiển

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.

Hàm

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 Operator

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.

Modules

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.

Mix

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

Sigils

Làm việc cùng và tạo mới sigils.

Documentation

Viết tài liệu cho code Elixir

Comprehensions

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.

Strings

String, Chuỗi kí tự (Char List), Chữ cái (Graphemes) và Codepoints.

Từ khóa » Elixir Là Cái Gì