MST
星途 面试题库

面试题:Ruby中方法链与流畅接口实现原理

请简要阐述在Ruby中如何实现方法链以及流畅接口背后的设计原理,并给出一个简单的示例代码,包含至少三个方法调用形成的方法链。
29.9万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试

方法链与流畅接口原理

在Ruby中,方法链是通过让每个方法返回一个对象(通常是self)来实现的。流畅接口背后的设计原理是提高代码的可读性和表达性,使代码像自然语言一样流畅。这样可以将多个操作串联起来,对同一个对象依次执行多个相关操作。

示例代码

class MyObject
  def initialize
    @value = 0
  end

  def increment
    @value += 1
    self
  end

  def double
    @value *= 2
    self
  end

  def print_value
    puts @value
    self
  end
end

obj = MyObject.new
obj.increment.double.print_value

在上述代码中,MyObject类的incrementdoubleprint_value方法都返回self,从而可以实现方法链。obj.increment.double.print_value依次对obj对象执行了自增、翻倍和打印值的操作。