में पहचान द्वारा वस्तुओं की तुलना करने के लिए गारंटीकृत तरीका रुबी में उनकी पहचान से दो वस्तुओं की तुलना करने की गारंटीकृत तरीका क्या है? दो चर दिए गए, मैं चर वापस लौटना चाहता हूं अगर चर स्मृति में सटीक उसी वस्तु को इंगित करते हैं।रुबी
सबसे रूबी वस्तुओं के लिए, equal?
विधि पहचान द्वारा तुलना:
f = g = Object.new
p f.equal? g # => true
बहरहाल, यह सभी वस्तुओं के लिए काम नहीं करता। उदाहरण के लिए:
class F
def ==(obj) false end
def ===(obj) false end
def eql?(obj) false end
def equal?(obj) false end
def object_id; self end
end
f = g = F.new
p f == g # => false
p f === g # => false
p f.eql? g # => false
p f.equal? g # => false
p f.object_id == g.object_id # => false
क्या एक सरल/पहचान द्वारा दो वस्तुओं की तुलना में इसकी गारंटी रास्ता हार जाता है जो नहीं किया जा सकता?
यह एक विशुद्ध रूप से बौद्धिक प्रश्न है। "क्यों" से शुरू होने वाले किसी भी प्रश्न का उत्तर शायद "क्योंकि मैं उत्सुक हूं।"
कंप्यूटर विज्ञान और गणित में चीजों के लिए शब्द क्या है? इसके लिए कुछ शब्द है। मैं "शैतानी" कहना चाहता हूं, लेकिन कम बुराई। –
मुझे लगता है कि शब्द "गलत" है। जैसा कि, यह एक चीज नहीं है जो आपको करना चाहिए। – Chuck
मैं एक शब्द का उपयोग करना चाहता हूं जो "एफ" से शुरू होता है ...जब तक आप सी एक्सटेंशन लिखना नहीं चाहते हैं, तब तक कोई गारंटी नहीं है, आपको विनम्र होना चाहिए लेकिन किसी को भी सामाजिक-सामाजिक सोसायपैथ होने से रोकना नहीं है। –