Kuest AI

Học mọi thứ, miễn phí

Bắt đầu miễn phí

Học Ruby nhanh hơn 10 lần với AI

Dán mã Ruby hoặc lỗi của bạn, Kuest sẽ hỏi bạn muốn mã đó làm gì, rồi giúp bạn hiểu blocks, hashes và classes cho đến khi thật sự nắm rõ.

817,000+học sinh đã học cùng Kuest

chủ đề
10
Loại ngôn ngữ
Động, hướng đối tượng
Người tạo ra
Yukihiro Matsumoto (1995)
Nổi tiếng nhất với
Ruby on Rails

Xem cách Kuest hướng dẫn

Kuest hỏi trước khi giải thích, để bạn tự suy nghĩ và nhớ lâu hơn.

Bạn: Tôi viết doubled = [1, 2, 3].each { |n| n * 2 } nhưng doubled vẫn là [1, 2, 3]. Tại sao?
Kuest: Câu hỏi hay đấy. Bạn nghĩ each dùng để làm gì: tạo một mảng mới, hay chỉ duyệt qua từng phần tử?
Bạn: Tôi nghĩ nó duyệt qua từng phần tử rồi thay đổi chúng.
Kuest: Đúng là nó duyệt qua từng phần tử, nhưng nó bỏ đi giá trị block trả về và trả lại mảng gốc. Phương thức nào giữ lại kết quả của block cho mỗi phần tử?
Bạn: map. Vậy doubled = [1, 2, 3].map { |n| n * 2 } cho ra [2, 4, 6].
Kuest: Chính xác. Dùng each khi bạn muốn tạo tác động phụ như puts, và dùng map khi muốn có một mảng kết quả mới.

each trả về collection gốc; map trả về một mảng mới được tạo từ giá trị block trả về.

Học sinh tập trung học cùng Kuest

học sinh
817,000+
quốc gia
100+
  • Từ điểm C lên A môn hóa

    “Mình đã ngừng chép đáp án và bắt đầu thật sự hiểu bài. Điểm hóa của mình từ C lên A chỉ trong một học kỳ.”

    Học sinh lớp 11, Texas
  • 3 giờ → 40 phút

    “Ghi chú của mình biến thành bài kiểm tra chỉ trong vài giây. Việc từng mất cả đêm giờ chỉ mất bằng một tập phim.”

    Học sinh lớp 10, California
  • Cuối cùng cũng sẵn sàng cho SAT

    “Kế hoạch cho mình biết chính xác cần làm gì mỗi ngày. Lần đầu tiên, mình bước vào phòng thi với tâm trạng bình tĩnh.”

    Học sinh lớp 12, New York
  • Không bao giờ cho mình bỏ qua bước nào

    “Lúc đầu hơi phiền, nhưng đến ngày thi thì đúng là cứu cánh. Mình có thể làm mọi bài mà không cần đến nó.”

    Học sinh lớp 9, Ohio
  • Tốt hơn gia sư của mình

    “Có mặt cả lúc nửa đêm, kiên nhẫn, lại rẻ hơn một buổi học với gia sư cũ của mình.”

    Sinh viên năm nhất, Florida
  • Chuỗi của mình đã 94 ngày

    “Các nhiệm vụ chỉ mất mười phút. Mình làm trên xe buýt. Không hiểu sao giờ mình lại là người giải thích Sinh học cho bạn bè.”

    Học sinh lớp 11, Illinois
  • Cuối cùng mình cũng thông tiếng Tây Ban Nha

    “Nói thành tiếng với gia sư giúp mình sửa phát âm nhanh hơn cả một năm học trên lớp.”

    Học sinh lớp 10, Arizona
  • Tìm ra lỗ hổng chỉ trong một đêm

    “Bài kiểm tra lỗ hổng cho mình thấy là mình chưa từng hiểu mol. Sửa được trong 15 phút.”

    Học sinh lớp 11, Georgia
  • Phụ huynh đây: không còn khủng hoảng lúc 9 giờ tối

    “Con trai tôi nhận được hỗ trợ thực sự mà tôi không phải giả vờ nhớ Giải tích, và tôi có thể xem tiến bộ của con mỗi tuần.”

    Phụ huynh, Washington

Phương pháp

Cách học Ruby với Kuest

Ruby đọc gần giống tiếng Anh, nên bạn dễ cảm thấy mình hiểu trước khi thực sự tự viết được. Cách học nhanh nhất là đoán một dòng sẽ trả về gì trước khi kiểm tra, rồi tự viết các phương thức nhỏ từ trí nhớ. Luyện tập ngắn nhưng đều với các phương thức Enumerable quan trọng hơn những buổi học dài.

  1. Dán mã hoặc lỗi của bạnTrò chuyện với gia sư

    Chia sẻ đoạn mã hoặc thông báo lỗi bạn đang mắc kẹt. Kuest sẽ hỏi bạn mong nó trả về gì và giúp bạn lần theo lý do nó không hoạt động như mong đợi.

  2. Chụp màn hình hoặc bài tậpChụp ảnh

    Chụp ảnh slide, bài tập trong sách giáo khoa hoặc terminal của bạn và bắt đầu từ đúng nội dung bạn đang thấy.

  3. Thấy cách các đối tượng kết nốiBảng hướng dẫn

    Kuest vẽ classes, modules và cách tra cứu phương thức trên bảng học để bạn thấy include nào được ưu tiên.

  4. Dự đoán kết quảCâu đố

    Làm các bài kiểm tra hiển thị một đoạn Ruby và hỏi nó trả về gì — kỹ năng giúp gỡ lỗi nhanh hơn nhiều.

  5. Ghi nhớ phương thứcThẻ ghi nhớ

    Ôn map, select, reduce, each_with_object và các phương thức tương tự bằng thẻ ghi nhớ ngắt quãng để bạn dùng đúng phương thức khi cần.

  6. Tìm phần còn chưa vữngTìm lỗ hổng kiến thức

    Kuest nhận ra những ý tưởng bạn thường bỏ sót, như blocks so với procs hoặc symbols so với strings, rồi đưa chúng quay lại để bạn ôn.

Bạn sẽ học gì

Chạm vào một chủ đề để học ngay.

  1. 01Biến, chuỗi và nội suyLưu giá trị và tạo văn bản bằng nội suy như "Hi #{name}".
  2. 02Câu điều kiện và tính đúng/saiDùng if, unless và case, đồng thời biết rằng chỉ nil và false là falsy.
  3. 03Mảng và hashLưu danh sách và dữ liệu khóa-giá trị, rồi tra cứu bằng symbol làm khóa.
  4. 04Vòng lặp và iteratorLặp lại tác vụ với each, times và each_with_index.
  5. 05BlocksTruyền blocks bằng do...end hoặc dấu ngoặc nhọn, và hiểu |item| đại diện cho gì.
  6. 06Các phương thức EnumerableBiến đổi và lọc dữ liệu bằng map, select, reduce và sort_by.
  7. 07Phương thứcĐịnh nghĩa phương thức với đối số mặc định, đối số từ khóa và giá trị trả về ngầm định.
  8. 08Lớp và đối tượngMô hình hóa sự vật bằng classes, initialize, biến thực thể và attr_accessor.
  9. 09Module và mixinChia sẻ hành vi giữa các classes bằng include và hiểu cách tra cứu phương thức.
  10. 10Lỗi và gỡ lỗiĐọc thông báo lỗi Ruby, tìm dòng gây lỗi và xử lý lỗi bằng rescue.

Thử hỏi

Chạm vào một câu hỏi và Kuest sẽ bắt đầu hướng dẫn từng bước.

Giúp bạn chuẩn bị cho

  • Các khóa nhập môn lập trình dạy bằng Ruby
  • Bootcamp Ruby on Rails
  • Phỏng vấn lập trình bằng Ruby

Một tháng Kuest có giá thấp hơn một giờ học với gia sư

Kiên nhẫn như nhau, mọi lúc, mọi môn học. Hoặc bạn có thể dùng gói miễn phí mãi mãi.

Gia sư riêng

$40–80cho một giờ

  • Cần đặt lịch trước nhiều ngày
  • Mỗi buổi chỉ học một môn
  • Dừng khi hết giờ

Kuest Plus

$10một tháng, thanh toán hằng năm

  • Mọi môn học và kỳ thi trên trang này
  • Bất kỳ lúc nào, lâu tùy bạn cần
  • Câu đố, thẻ ghi nhớ, podcast và đề thi thử

Giải đáp thắc mắc

Buổi học tiếp theo của bạn bắt đầu tại đây

Gói miễn phí mãi mãi. Không cần thẻ.

Bắt đầu miễn phí