Ruby | Operadores

Un operador es un símbolo que representa una operación a realizar con uno o más operandos. Los operadores son la base de cualquier lenguaje de programación. Los operadores nos permiten realizar diferentes tipos de operaciones en los operandos. Hay diferentes tipos de operadores utilizados en Ruby de la siguiente manera: 
 

Operadores aritméticos

Estos se utilizan para realizar operaciones aritméticas/matemáticas en operandos. 
 

  • Suma (+): el operador suma dos operandos. Por ejemplo, x+y .
  • Resta(-): el operador resta dos operandos. Por ejemplo, xy .
  • Multiplicación(*): el operador multiplica dos operandos. Por ejemplo, x*y .
  • División(/): el operador divide el primer operando por el segundo. Por ejemplo, x/y .
  • Módulo (%): el operador devuelve el resto cuando el primer operando se divide por el segundo. Por ejemplo, x%y .
  • Exponente (**): el operador devuelve exponencial (potencia) de los operandos. Por ejemplo, x**y .

Ejemplo:
 

Ruby

# Ruby program to demonstrate
# the Arithmetic Operators
 
# Addition
puts ("Addition:")
puts (10 + 20)
 
# Subtraction
puts ("Subtraction:")
puts (40 - 20)
 
# Division
puts ("Division:")
puts (100 / 20)
 
# Multiplication
puts ("Multiplication:")
puts (10 * 20)
 
# Modulus
puts ("Modulus:")
puts (20 % 7)
 
# Exponent
puts ("Exponent:")
puts (2 ** 4)

Producción: 
 

Addition:
30
Subtraction:
20
Division:
5
Multiplication:
200
Modulus:
6
Exponent:
16

Operadores de comparación

Los operadores de comparación o los operadores relacionales se utilizan para comparar dos valores. Vamos a verlos uno por uno:
 

  • El operador Igual a (==) verifica si los dos operandos dados son iguales o no. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 5==5 devolverá verdadero.
  • El operador No es igual a(!=) comprueba si los dos operandos dados son iguales o no. Si no, devuelve verdadero. De lo contrario devuelve falso. Es el complemento booleano exacto del operador ‘==’ . Por ejemplo, 5!=5 devolverá falso.
  • El operador Greater Than(>) comprueba si el primer operando es mayor que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 6>5 devolverá verdadero.
  • El operador menor que (<) verifica si el primer operando es menor que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 6<5 devolverá falso.
  • El operador Mayor que igual a(>=) comprueba si el primer operando es mayor o igual que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 5>=5 devolverá verdadero.
  • El operador Less Than Equal To(<=) comprueba si el primer operando es menor o igual que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 5<=5 también devolverá verdadero.
  • El operador de combinación combinada (<=>) devuelve 0 cuando el primer operando es igual al segundo, devuelve 1 cuando el primer operando es mayor que el segundo y devuelve -1 cuando el primer operador es menor que el segundo.
  • Operador de igualdad de casos (===) Probará la igualdad en la declaración de casos.
  • ‘.eql?’ Este operador devuelve verdadero si el receptor y el argumento tienen el mismo tipo y valores iguales.
  • ‘¿Igual?’ Este operador Devuelve verdadero si el receptor y el argumento tienen la misma identificación de objeto.

Ejemplo:
 

Ruby

# Ruby program to demonstrate
# the Comparison Operators
  
puts "Equal To Operator:"
puts (10 == 20)
  
puts "Not Equal To Operator:"
puts (40 != 20)
  
puts "Greater than Operator"
puts (100 > 20)
  
puts "Less than Operator"
puts (10  < 20)
  
puts "Less than Equal To Operator"
puts (2  <=  5)
 
puts "Greater than Equal To Operator"
puts (2  >=  5)
  
puts "Combined combination operator"
puts(20 <=> 20)
puts(10 <=> 20)
puts(20 <=> 10)

Producción: 
 

Equal To Operator:
false
Not Equal To Operator:
true
Greater than Operator
true
Less than Operator
true
Less than Equal To Operator
true
Greater than Equal To Operator
false
Combined combination operator
0
-1
1

Operadores logicos

Se utilizan para combinar dos o más condiciones/restricciones o para complementar la evaluación de la condición original en consideración. Se describen a continuación:
 

  • El operador lógico AND(&&) devuelve verdadero cuando se cumplen ambas condiciones en consideración. De lo contrario devuelve falso. El uso de » y » es una alternativa para el operador &&. Por ejemplo, a && b devuelve verdadero cuando tanto a como b son verdaderos (es decir, distintos de cero).
  • El operador lógico OR(||) devuelve verdadero cuando se cumple una (o ambas) de las condiciones consideradas. De lo contrario devuelve falso. Usar “ o ” es una alternativa para || operador. Por ejemplo, un || b devuelve verdadero si uno de a o b es verdadero (es decir, distinto de cero). Por supuesto, devuelve verdadero cuando tanto a como b son verdaderos.
  • NOT lógico (!): el operador devuelve verdadero la condición en consideración no se cumple. De lo contrario devuelve falso. Usar “ no ” es una alternativa para ! operador. Por ejemplo, !true devuelve falso.

Ejemplo:
 

Ruby

# Ruby program to demonstrate
# the Logical Operators
  
# Variables
a = 10
b = 20
c = 30
 
# using && operator
if a == 10 && b == 20 && c == 30
    puts "Logical AND Operator"
    puts result = a * b * c
end
 
# using || operator
puts "Logical OR operator"
if a == 10 || b == 20
    puts result = a + b + c
end
 
# using ! operator
puts "Logical Not Operator"
puts !(true)
    

Producción: 
 

Logical AND Operator
6000
Logical OR operator
60
Logical Not Operator
false

Operadores de Asignación

Los operadores de asignación se utilizan para asignar un valor a una variable. El operando del lado izquierdo del operador de asignación es una variable y el operando del lado derecho del operador de asignación es un valor. El valor del lado derecho debe ser del mismo tipo de datos que la variable del lado izquierdo; de lo contrario, el compilador generará un error. 
A continuación se muestran diferentes tipos de operadores de asignación: 
 

  • Asignación simple (=) : el operador es el operador de asignación más simple. Este operador se utiliza para asignar el valor de la derecha a la variable de la izquierda.
  • El operador Add AND Assignment (+=) se usa para agregar el operando izquierdo con el operando derecho y luego asignarlo a la variable de la izquierda.
  • El operador Restar Y Asignación (-=) se usa para restar el operando izquierdo con el operando derecho y luego asignarlo a la variable de la izquierda.
  • El operador de asignación AND de multiplicación (*=) se utiliza para multiplicar el operando izquierdo con el operando derecho y luego asignarlo a la variable de la izquierda.
  • El operador Divide AND Assignment (/=) se utiliza para dividir el operando izquierdo con el operando derecho y luego asignarlo a la variable de la izquierda.
  • El operador Módulo Y Asignación (%=) se usa para asignar el módulo del operando izquierdo con el operando derecho y luego asignarlo a la variable de la izquierda.
  • El operador Exponente AND Asignación (**=) se utiliza para elevar la potencia del operando izquierdo al operando derecho y asignarlo a la variable de la izquierda.

Ejemplo:
 

Ruby

# Ruby program to demonstrate
# the Assignments Operators
  
puts "Simple assignment operator"
puts a = 20
 
puts "Add AND assignment operator"
puts a += 10
 
puts "Subtract AND assignment operator"
puts a -= 5
 
puts "Multiply AND assignment operator"
puts a *= 10
 
puts "Divide AND assignment operator"
puts a /= 4
 
puts "Modulus AND assignment operator"
puts a %= 3
 
puts "Exponent AND assignment operator"
puts a **= 3

Producción: 
 

Simple assignment operator
20
Add AND assignment operator
30
Subtract AND assignment operator
25
Multiply AND assignment operator
250
Divide AND assignment operator
62
Modulus AND assignment operator
2
Exponent AND assignment operator
8

Operadores bit a bit

En Ruby, hay 6 operadores bit a bit que funcionan a nivel de bit o se utilizan para realizar operaciones bit a bit. Los siguientes son los operadores bit a bit: 
 

  • AND bit a bit (&) Toma dos números como operandos y hace AND en cada bit de dos números. El resultado de AND es 1 solo si ambos bits son 1.
  • OR bit a bit (|) Toma dos números como operandos y hace OR en cada bit de dos números. El resultado de OR es 1 cualquiera de los dos bits es 1.
  • Bitwise XOR (^) Toma dos números como operandos y realiza XOR en cada bit de dos números. El resultado de XOR es 1 si los dos bits son diferentes.
  • Desplazamiento a la izquierda (<<) Toma dos números, desplaza a la izquierda los bits del primer operando, el segundo operando decide el número de lugares a desplazar.
  • Desplazamiento a la derecha (>>) Toma dos números, desplaza a la derecha los bits del primer operando, el segundo operando decide el número de lugares a desplazar.
  • Complemento a unos (~) Este operador toma un solo número y se utiliza para realizar operaciones de complemento de 8 bits.

Ejemplo: 
 

Ruby

# Ruby program to demonstrate
# the Bitwise Operators
 
# variables
a = 10
b = 20
 
puts "Bitwise AND operator"
puts (a & b)
 
puts "Bitwise OR operator"
puts (a |b)
 
puts "Bitwise XOR operator"
puts (a ^ b)
 
puts "Bitwise Complement operator"
puts (~a)
 
puts "Binary right shift operator"
puts (a >> 2)
 
puts "Binary left shift operator"
puts (a << 2)

Producción: 
 

Bitwise AND operator
0
Bitwise OR operator
30
Bitwise XOR operator
30
Bitwise Complement operator
-11
Binary right shift operator
2
Binary left shift operator
40

Operador Ternario

Es un operador condicional que es una versión abreviada de la instrucción if-else. Tiene tres operandos y de ahí el nombre ternario. Devolverá uno de dos valores dependiendo del valor de una expresión booleana. 
Sintaxis: 
 

condition ? first_expression : second_expression;

Explicación : 
 

condition: It be evaluated to true or false.

If the condition is true
 first_expression is evaluated and becomes the result. 

If the condition is false, 
 second_expression is evaluated and becomes the result. 

Ejemplo :
 

Ruby

# Ruby program to demonstrate
# the Ternary Operator
 
# variable
marks_obtained = 100
 
# using ternary operator
result = marks_obtained > 40 ? 'Pass' : 'Fail'
 
# displaying output
puts result

Producción: 
 

Pass

Operadores de rango

En Ruby, los operadores de rango se utilizan para crear el rango de secuencia especificado de elementos específicos. Hay dos operadores de rango en Ruby de la siguiente manera:
 

  • El operador de punto doble (..) se usa para crear un rango de secuencia específico en el que tanto el elemento inicial como el final serán inclusivos. Por ejemplo, 7 .. 10 creará una secuencia como 7, 8, 9, 10.
  • El operador Triple Dot (…) se usa para crear un rango de secuencia específico en el que solo el elemento inicial será inclusivo y el elemento final será exclusivo. Por ejemplo, 7 .. 10 creará una secuencia como 7, 8, 9.

Ejemplo:
 

Ruby

# Ruby program to demonstrate
# the Range Operator
 
# Array value separator
$, =", " 
 
# using .. Operator
range_op = (7 .. 10).to_a
 
# displaying result
puts "#{range_op}"
 
# using ... Operator
range_op1 = (7 ... 10).to_a
 
# displaying result
puts "#{range_op1}"

Producción: 
 

[7, 8, 9, 10]
[7, 8, 9]

definido? Operador

El definido? el operador es un operador especial que se utiliza para verificar si la expresión pasada está definida o no. Devuelve nil si el argumento pasado no está definido; de lo contrario, devuelve una string de ese argumento que lo define.
Sintaxis:
 

defined? expression_to_be_checked 

Ejemplo: 
 

Ruby

# Ruby program to demonstrate
# the defined? Operator
 
# variables
GFG =  1
Geeks = 70
 
 
puts ("define? Operator Results")
 
# using defined? Operator
# it returns constant
puts defined? GFG       
 
# it returns constant
puts defined? Geeks
 
# it returns expression
puts defined? a 
        
# it returns expression
puts defined? 50  

Producción: 
 

define? Operator Results
constant
constant

expression

Punto «.» y operadores de dos puntos dobles “::”

  • El operador de punto (.) se utiliza para acceder a los métodos de una clase.
  • El operador de dos puntos dobles (::) se utiliza para acceder a las constantes, métodos de clase y métodos de instancia definidos dentro de una clase o módulo en cualquier lugar fuera de la clase o módulo. El punto importante a recordar es que las clases y los métodos pueden considerarse constantes en Ruby y también anteponer el :: Const_name con la expresión que devuelve el objeto de clase apropiado. Si no se utiliza una expresión de prefijo, se utiliza de forma predeterminada la clase de objeto principal.

Ejemplo: 
 

Ruby

# Ruby program to demonstrate
# Dot “.” and Double Colon
# “::” Operators
 
# defined constant on main Object class
CONS = 5  
 
# define module
module Geeks
     
   CONS = 5
    
   # set global CONS to 7
   ::CONS = 7  
    
    # set local CONS to 10
   CONS = 10   
end
 
# displaying global CONS value
puts CONS    
 
# displaying local "Geeks" CONS value
# using :: operator
puts Geeks::CONS  
 
class Gfg
    def Geeks2
        puts "Dot Operator"
    end
end
 
# calling Geeks2 module using
# Dot(.) operator
puts Gfg.new.Geeks2

Producción: 
 

7
10
Dot Operator

main.rb:14: warning: already initialized constant CONS
main.rb:6: warning: previous definition of CONS was here
main.rb:17: warning: already initialized constant Geeks::CONS
main.rb:11: warning: previous definition of CONS was here

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *