Este producto no es compatible con el sitio Datadog seleccionado. ().
Esta página aún no está disponible en español. Estamos trabajando en su traducción.
Si tienes alguna pregunta o comentario sobre nuestro actual proyecto de traducción, no dudes en ponerte en contacto con nosotros.

Metadata

ID: ruby-best-practices/identity-comparison

Language: Ruby

Severity: Info

Category: Best Practices

Description

In Ruby, the rule “Prefer equal? over == when comparing object_id” is important to remember because of how these two comparison methods function. The equal? method checks if the two compared references point to the exact same object, while the == method checks if the values of the two objects are the same.

This rule is crucial because when you are comparing object_id, you are actually interested in whether the two objects are the same object, not whether their values are equal. Using == can lead to unexpected results if two different objects have the same object_id.

To adhere to this rule and maintain good coding practices, always use equal? when comparing object_id. This ensures that you are accurately checking if the two objects are the same. For instance, instead of writing foo.object_id == bar.object_id, you should write foo.equal?(bar). This way, you are properly checking for object identity, not object equality.

Non-Compliant Code Examples

foo.object_id == bar.object_id

Compliant Code Examples

foo.equal?(bar)
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Integraciones sin problemas. Prueba Datadog Code Security