Ruby Métodos
Los métodos Ruby son similares a las funciones en otros lenguajes de programación. Los métodos Ruby se utilizan para agrupar una o más declaraciones repetidas en una unidad.
Los nombres de los métodos deben comenzar con una letra minúscula. Si comienza con una letra mayúscula, Ruby puede tratarlo como una constante, lo que provocará un análisis incorrecto de la llamada.
Los métodos deben definirse antes de llamarse; de lo contrario, Ruby generará una excepción de llamada a un método no definido.
Sintaxis
Por lo tanto, puede definir un método simple de la siguiente manera:
Puede definir un método que acepte parámetros de la siguiente manera:
Puede establecer valores predeterminados para los parámetros. Si no se pasan los parámetros requeridos al llamar al método, se utilizan los valores predeterminados:
Cuando desee llamar a un método, solo necesita usar el nombre del método, de la siguiente manera:
Sin embargo, cuando llama a un método con parámetros, también debe incluir los parámetros al escribir el nombre del método, por ejemplo:
La mayor desventaja de usar métodos con parámetros es que necesita recordar el número de parámetros al llamar al método. Por ejemplo, si solo pasa dos parámetros a un método que acepta tres, Ruby mostrará un error.
Ejemplo
Pruébalo »
El resultado de ejecutar el ejemplo anterior es:
编程语言为 C 编程语言为 C++ 编程语言为 Ruby 编程语言为 Perl
Valor de retorno de un método
Cada método en Ruby devuelve un valor de forma predeterminada. El valor devuelto es el valor de la última declaración. Por ejemplo:
Ejemplo
Al llamar a este método, se devolverá la última variable declarada, k.
Ruby returnSentencia
En Ruby, lareturnsentencia
Sintaxis
Si se dan más de dos expresiones, el array que contiene estos valores será el valor de retorno. Si no se da ninguna expresión, nil será el valor de retorno.
Ejemplo
Observe el siguiente ejemplo:
Ejemplo
Pruébalo »
El resultado de ejecutar el ejemplo anterior es:
100 200 300
Número variable de parámetros
Supongamos que declara un método con dos parámetros. Cuando llama a ese método, también debe pasar dos parámetros.
Sin embargo, Ruby le permite declarar métodos con un número variable de parámetros. Veamos el siguiente ejemplo:
Ejemplo
Pruébalo »
En este código, ha declarado un método sample que acepta un parámetro test. Sin embargo, este parámetro es un parámetro variable. Esto significa que el parámetro puede tener un número variable de variables. El resultado de ejecutar el ejemplo anterior es:
参数个数为 3 参数值为 Zara 参数值为 6 参数值为 F 参数个数为 4 参数值为 Mac 参数值为 36 参数值为 M 参数值为 MCA
Métodos de clase
Cuando un método se define fuera de una clase, por defecto se marca comoprivate. Por otro lado, si el método se define dentro de la clase, por defecto se marca como public.
La visibilidad predeterminada de los métodos yprivateel marcado se puede modificar mediante el módulo (Module)publicoprivatecambio.
Cuando quiera acceder a los métodos de una clase, primero debe instanciar la clase. Luego, usando el objeto, puede acceder a cualquier miembro de la clase.
Ruby proporciona una forma de acceder a los métodos sin instanciar. Veamos cómo declarar y acceder a los métodos de clase:
Ya sabemos cómo se declara el método return_date. Se declara colocando un punto después del nombre de la clase, seguido del nombre del método. Puede acceder directamente a los métodos de clase de la siguiente manera:
Para acceder a este método, no necesita crear un objeto de la clase Accounts.
Ruby aliasSentencia
Esta sentencia se utiliza para crear un alias de un método o variable global. El alias no puede definirse dentro del cuerpo de un método. Incluso si el método se sobrescribe, el alias del método conserva la definición actual del método.
Está prohibido crear alias para las variables globales numeradas ($1, $2,...). Sobrescribir las variables globales integradas puede causar problemas graves.
Sintaxis
Ejemplo
Aquí, hemos definido foo como alias de bar, y $MATCH como alias de $&.
Ruby undefSentencia
Esta sentencia se utiliza para cancelar la definición de un método.undefNo puede aparecer dentro del cuerpo de un método.
Mediante el uso deundefyalias, la interfaz de la clase puede modificarse independientemente de la clase padre, pero tenga en cuenta que puede romper el programa al llamar a métodos dentro de sí misma.
Ejemplo
El siguiente ejemplo elimina el método llamadobarla definición del método: