Câu hỏi

Sự khác biệt chính giữa procslambdas là gì?

Câu trả lời

Trong Ruby, procs và lambdas đều là các đối tượng thuộc lớp Proc, nhưng chúng có một số sự khác biệt quan trọng về cách thức hoạt động:

Sự Khác Biệt về Cách Xử Lý return

  • Khi sử dụng từ khóa return bên trong một lambda, nó chỉ thoát khỏi lambda đó. Trong khi đó, khi sử dụng return bên trong một proc, nó sẽ thoát khỏi phương thức bao quanh proc đó

Sự Khác Biệt về Xử Lý Đối Số

  • Lambdas kiểm tra số lượng đối số truyền vào và yêu cầu số lượng đối số phải chính xác. Nếu số lượng đối số không đúng, một ArgumentError sẽ được ném ra. Ngược lại, procs không kiểm tra chặt chẽ số lượng đối số và sẽ tự động gán giá trị nil cho bất kỳ đối số nào thiếu

Sự Khác Biệt về Phân Rã Mảng

  • Khi truyền một mảng làm đối số cho một proc, mảng đó sẽ được phân rã (deconstruct) thành các đối số riêng biệt...
Bạn cần đăng nhập để xem
middle

middle

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

senior

Một block có phải là một đối tượng không?

expert

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

senior

Điều gì xảy ra nếu một block nhận hai đối số nhưng chỉ chấp nhận một đối số?

Bình luận

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

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