Câu hỏi phỏng vấn Ruby
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...
middle

middle

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

middle

Khi nào bạn sử dụng cú pháp do/end so với cú pháp sử dụng dấu ngoặc nhọn {} cho một block?

middle

Sự khác biệt giữa việc gọi Proclambda là gì?

middle

Mô tả về closure trong Ruby?

Bình luận

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

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