Tôi có một phương pháp mà tôi muốn quyết định những gì cần trả lại trong một hàm bản đồ. Tôi biết rằng điều này có thể được thực hiện bằng cách gán một biến, nhưng đây là cách tôi mặc dù tôi có thể làm điều đó;`return` trong Ruby Array # map
def some_method(array)
array.map do |x|
if x > 10
return x+1 #or whatever
else
return x-1
end
end
end
này không làm việc như tôi mong đợi bởi vì lần đầu tiên return
là hit, nó sẽ trả về từ phương pháp này, và không có trong các chức năng bản đồ, tương tự như cách trả lại được sử dụng trong chức năng đồ javascript của.
Có cách nào để đạt được cú pháp mong muốn của tôi không? Hoặc tôi có cần chỉ định điều này cho biến hay không và để nó treo ở cuối như sau:
def some_method(array)
array.map do |x|
returnme = x-1
if x > 10
returnme = x+1 #or whatever
end
returnme
end
end
Tốt! Tôi đã phải làm lại mã của tôi một chút, nhưng tôi tin rằng đây là một giải pháp tuyệt vời! – Automatico
@ Cort3z: xem câu trả lời cập nhật :) –