método de rubí
método de Ruby es similar a otras funciones del lenguaje de programación. método de rubí para empaquetar una o más sentencias duplicados en una sola unidad.
El nombre del método debe comenzar con una letra minúscula. Si usted está en letras mayúsculas como el comienzo del nombre del método, Ruby probable que lo utilizan como una constante, lo que resulta en forma incorrecta analizar llamar.
Antes de llamar al método debe definirse de otro modo, Ruby producirá indefinido excepción llamada al método.
gramática
def method_name [( [arg [= default]]...[, * arg [, &expr ]])] expr.. end
Por lo tanto, se puede definir un método simple, de la siguiente manera:
def method_name expr.. end
Se puede definir un método para aceptar parámetros, de la siguiente manera:
def method_name (var1, var2) expr.. end
Se puede establecer el valor predeterminado para un parámetro, el parámetro no es necesario para pasar el valor por defecto si la llamada al método:
def method_name (var1=value1, var2=value2) expr.. end
Cuando se quiere llamar a un método, sólo tiene que utilizar el nombre del método, como se muestra a continuación:
method_name
Sin embargo, cuando se llama a un método con parámetros, los parámetros que se tienen que tomar al escribir el nombre del método, por ejemplo:
method_name 25, 30
El método de uso de los parámetros mayor inconveniente es la necesidad de recordar el número de parámetros al llamar al método. Por ejemplo, si usted es el que acepta método de tres parámetros sólo pasa dos argumentos, Ruby se mostrará un error.
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test(a1="Ruby", a2="Perl") puts "编程语言为 #{a1}" puts "编程语言为 #{a2}" end test "C", "C++" test
Ejecutar la salida anterior ejemplo es:
编程语言为 C 编程语言为 C++ 编程语言为 Ruby 编程语言为 Perl
El valor de retorno de un método
Rubí cada método devuelve un valor predeterminado. Este valor es el valor devuelto por la última declaración. Por ejemplo:
def test i = 100 j = 10 k = 0 end
Cuando se llama a este método devolverá una declaración final de la variable k.
sentencia de retornoRubí
Rubí en la sentenciareturnse utiliza para devolver uno o más valores de un método de Ruby.
gramática
return [expr[`,' expr...]]
Si se dan más de dos expresiones una matriz que contiene estos valores será el valor de retorno. Si no se da ninguna expresión, será nulo el valor de retorno.
Ejemplos
return 或 return 12 或 return 1,2,3
Considere los siguientes ejemplos:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test i = 100 j = 200 k = 300 return i, j, k end var = test puts var
Ejecutar la salida anterior ejemplo es:
100 200 300
número variable de argumentos
Digamos que se declara un método que toma dos argumentos, cuando se llama a este método, también es necesario introducir dos parámetros.
Sin embargo, Ruby le permite declarar un número variable de parámetros. Veamos los siguientes ejemplos:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def sample (*test) puts "参数个数为 #{test.length}" for i in 0...test.length puts "参数值为 #{test[i]}" end end sample "Zara", "6", "F" sample "Mac", "36", "M", "MCA"
En este código, que ha declarado un método de muestra, acepta una prueba de parámetros. Sin embargo, este parámetro es un parámetro variable. Esto implica que los parámetros pueden estar provistos de un número diferente de variables. Ejecutar la salida anterior ejemplo es:
参数个数为 3 参数值为 Zara 参数值为 6 参数值为 F 参数个数为 4 参数值为 Mac 参数值为 36 参数值为 M 参数值为 MCA
Los métodos de clase
Cuando el externo, el método método definido en la clase por defecto marcado comoprivado.Por otro lado, si el método definido en la clase, el valor predeterminado se marca como público.
El método por defecto de la visibilidad y la etiquetaprivadase puede cambiar a través del módulo (módulo) enpúblicooprivado.
Cuando se desea acceder al método de clase, primero debe crear una instancia de la clase. Luego, utilizando el objeto, puede acceder a cualquier miembro de la clase.
Rubí ofrece una manera de acceder sin métodos de instancias. Vamos a ver cómo declarar y accede al método de clase:
class Accounts def reading_charge end def Accounts.return_date end end
Ya sabemos cómo la declaración de método RETURN_DATE. Es después de que el nombre de la clase seguido de un punto, seguido por el nombre del método después del punto de la declaración. Puede acceder directamente al método de la clase de la siguiente manera:
Accounts.return_date
Para acceder a este método, no es necesario crear una cuenta por clase de objeto.
declaración de aliasRubí
Esta sentencia se utiliza como un método o variables globales de alias. Alias no pueden ser definidas dentro del cuerpo del método. Incluso si se anula el método, el método alias también mantiene la definición actual del método.
Está prohibido número de variables globales ($ 1, $ 2, ...) desde el alias. Reescribir la incorporada en las variables globales puede causar problemas graves.
gramática
alias 方法名 方法名 alias 全局变量 全局变量
Ejemplos
alias foo bar alias $MATCH $&
Aquí, hemos definido un alias para foo a la barra, para definir un alias de $ y $ coinciden.
declaraciónde rubíundef
Esta sentencia se utiliza para cancelar la definición del método.undefno puede aparecer dentro de un cuerpo de método.
Mediante el uso deundefy elalias,la interfaz de la clase se puede modificar de forma independiente de la clase padre, pero por favor tenga en cuenta que cuando su propio método interno llama, que puede poner en peligro el programa.
gramática
undef 方法名
Ejemplos
Los siguientes ejemplos se cancelan llamado definición del método debarra:
undef bar