MST

星途 面试题库

面试题:Ruby方法参数传递的复杂应用

定义一个Ruby方法,该方法接受一个必需参数,一个可选参数以及一个块。在方法内部,根据块的执行结果(假设块返回true或false),对必需参数和可选参数进行不同的逻辑操作(例如,如果块返回true,将必需参数和可选参数相加;如果返回false,将必需参数减去可选参数),并返回最终结果。请写出完整代码。
48.4万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试
def my_method(required_param, optional_param = 0)
  result = yield
  if result
    required_param + optional_param
  else
    required_param - optional_param
  end
end

# 使用示例
result = my_method(5, 3) { true }
puts result # 输出8

result = my_method(5, 3) { false }
puts result # 输出2