Ruby «είναι» ισοδύναμο

ψήφοι
6

Είναι ένα ισοδύναμο Ruby για Python «είναι» εκεί; Ελέγχει αν δύο αντικείμενα είναι όμοια (δηλαδή έχουν την ίδια θέση μνήμης).

Δημοσιεύθηκε 30/08/2008 στις 02:04
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
12

Χρήση a.equal? b

http://www.ruby-doc.org/core/classes/Object.html

Σε αντίθεση ==, η ίση; μέθοδος δεν πρέπει ποτέ να παρακαμφθεί από υποκατηγορίες: χρησιμοποιείται για τον προσδιορισμό της ταυτότητας αντικείμενο (δηλαδή, a.equal (β) αν και μόνο αν a είναι το ίδιο αντικείμενο με b;).

Απαντήθηκε 30/08/2008 στις 02:06
πηγή χρήστη

ψήφοι
2

Μπορείτε επίσης να χρησιμοποιήσετε __id__. Αυτό σας δίνει την αντικείμενα αριθμό εσωτερικής ταυτότητας, η οποία είναι πάντα μοναδικό. Για να ελέγξετε αν τα αντικείμενα είναι τα ίδια, δοκιμάστε

a.__id__ = b.__id__

Αυτό είναι το πώς πρότυπη βιβλιοθήκη του ρουμπινιού το κάνει όσο μπορώ να πω (δείτε group_byκαι άλλα).

Απαντήθηκε 02/09/2008 στις 08:02
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more