У меня есть значение X. Я буду использовать это значение через некоторое время. На самом деле мне все равно, что это за значение, но через некоторое время я получу другое значение Y, и я хочу знать, если X == Y.
Один из способов хранения данных такого типа - создать замыкание, подобное этому:
def createExactMatchClosure(str)
return lambda { |t|
return str == t
}
end
Теперь я могу использовать этот код, чтобы проверить, равна ли другая переменная моей исходной:
myOriginalValue = "hello"
testerFunction = createExactMatchClosure(myOriginalValue)
puts testerFunction.call("hello").to_s # prints true
Мой вопрос такой: лучше / хуже / по-другому? Я видел оба подхода, используемые в уроках.
def createExactMatchClosure(str)
string_to_test = str
return lambda { |t|
return string_to_test == t
}
end