В этом случае нет дополнительных технических преимуществ использования лямбд.
Рассмотрим ваше предложение:
def split_function_default(row, column, value)
row[column] == value
end
def split_function_number(row, column, value)
row[column] >= value
end
def divideset(rows, column, value)
set1 = nil
set2 = nil
if value.is_a?(Fixnum) || value.is_a?(Float)
set1 = rows.select{|row| split_function_number(row, column, value)}
set2 = rows.reject{|row| split_function_number(row, column, value)}
elif
set1 = rows.select{|row| split_function_default(row, column, value)}
set2 = rows.reject{|row| split_function_default(row, column, value)}
end
[set1, set2]
end
Что более понятно? Лично я предпочитаю лямбда-версию, поскольку она более лаконична.