Latest web development tutorials

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