Câu hỏi phỏng vấn Ruby
Câu hỏi

Mô tả về closure trong Ruby?

Câu trả lời

Giới thiệu về Closure trong Ruby

Trong Ruby, closure là một hàm hoặc một khối mã với các biến được liên kết với môi trường mà closure được gọi. Closure có thể được coi như một biến có thể được gán cho biến khác hoặc có thể được truyền vào bất kỳ hàm nào như một đối số. Một khối closure có thể được định nghĩa trong một phạm vi và có thể được gọi trong một phạm vi khác. Closure luôn nhớ các biến trong phạm vi của nó tại thời điểm tạo ra và khi được gọi, nó có thể truy cập các biến đó

Các Loại Closure trong Ruby

Ruby cung cấp ba loại closure chính: blocks, procs, và lambdas.

  • Blocks: Là hình thức đơn giản nhất của closure trong Ruby. Blocks không phải là đối tượng nhưng có thể được truyền vào một phương thức sử dụng từ khóa yield. Blocks được định nghĩa bằng cặp ngoặc nhọn {} hoặc từ khóa do...end

  • Procs: Tương tự như blocks nhưng là một đối tượng của lớp Proc. Điều này cho phép bạn gán một block vào một biến và gọi nó nhiều lần. Procs linh hoạt hơn blocks vì chúng có thể được truyền như một đối số c...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Sự khác biệt giữa Module#remove_methodModule#undef_method là gì?

expert

Sự khác biệt giữa extendinclude trong Ruby là gì?

senior

Khi nào bạn có thể gặp phải lỗi LocalJumpError?

Bình luận

Chưa có bình luận nào