MST
星途 面试题库

面试题:Ruby代码重构之方法提取

假设你有一段Ruby代码,功能是计算一个数组中所有偶数的平方和。现有代码如下: ```ruby array = [1, 2, 3, 4, 5] result = 0 for num in array if num % 2 == 0 square = num * num result += square end end puts result ``` 请运用重构技巧中的方法提取,对这段代码进行重构,使其结构更清晰。
39.7万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试
array = [1, 2, 3, 4, 5]

def sum_of_squares_of_evens(arr)
  arr.select { |num| num.even? }.map { |num| num ** 2 }.sum
end

puts sum_of_squares_of_evens(array)