मुझे अक्सर रूबी कोड लिखना पड़ता है जहां मैं एक मूल्य की उपस्थिति की जांच करता हूं और बाद में उस मूल्य के साथ कुछ करता हूं यदि यह मौजूद है। जैसेयदि मूल्य मौजूद है तो कुछ करें
if some_object.some_attribute.present?
call_something(some_object.some_attribute)
end
मुझे लगता है कि, शांत हो सकता है अगर यह
रूप में लिखा जा सकता है अगर वहाँ रूबी में या हालांकि activesupport इस तरह के एक सुविधा हैsome_object.some_attribute.presence { |val| call_something(val) }
=> the return value of call_something
किसी को भी पता है?
मैंने इस सुविधा के लिए pull request खोला।
तुम सिर्फ एक एक लाइनर के लिए देख रहे हैं, तो आप एक इनलाइन इस्तेमाल कर सकते हैं अगर कथन: 'call_something (some_object.some_attribute) अगर कुछ_object.some_attribute.present? ' – Sculper
यह' some_attribute' को दो बार आमंत्रित करता है, जो वर्बोज़िटी और प्रदर्शन कारणों के लिए वांछनीय नहीं है (यदि 'some_attribute' IO को आवंटित किया गया है) –
' attr = if some_object। some_attribute.present? call_something (attr) एंड' यह केवल –