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

Để triển khai module Comparable, bạn phải định nghĩa toán tử nào?

Câu trả lời

Để triển khai module Comparable trong Ruby, bạn cần định nghĩa phương thức <=> (toán tử spaceship). Phương thức này được sử dụng để so sánh hai đối tượng với nhau và nó phải trả về một trong ba giá trị sau:

  • -1: Nếu đối tượng gọi phương thức nhỏ hơn đối tượng được so sánh.
  • 0: Nếu hai đối tượng bằng nhau.
  • 1: Nếu đối tượng gọi phương thức lớn hơn đối tượng được so sánh.

Ví dụ

ruby Copy
class MyClass
  include Comparable

  attr_reader :value

  def initialize(value)
    @value = value
  end

  def <=>(other)
    self.value ...
middle

middle

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

middle

Tại sao bạn có thể an toàn sử dụng chuỗi làm khóa hash, mặc dù chuỗi là có thể thay đổi?

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ố?

middle

Proc trong Ruby là gì?

Bình luận

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

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