Idioma análise é um passo fundamental na aprendizagem de qualquer nova linguagem de programação - mesmo uma linguagem relativamente "simples" como Ruby. Um olhar mais atento ajuda a ver as diferenças entre os elementos do programa que , em última instância determinam como um script Ruby se comporta e , mais tarde, como usar o script corretamente. Enquanto o "Incluir " e " Exigir " declarações podem parecer muito semelhantes à primeira vista, um olhar mais atento revela diferenças fundamentais. Os dois podem ser facilmente confundidos , no entanto , especialmente se você está familiarizado com as linguagens de programação que definem estes conceitos em termos diferentes. Identificação
"Exigir " dá Rubi uma instrução para importar classe ou arquivo de módulo do diretório da biblioteca do módulo para que possa referenciar e usar o código dentro do módulo em seu programa. "Incluir " é um exemplo de uma directiva de pré-processamento de Ruby chamado de " mixin . " Nele , você faz referência a um módulo e ao fazê-lo integrar o módulo e algumas ou todas as suas ações em sua definição de classe. Usando um mixin - neste caso, um "incluir" - permite que o programador para aumentar ou estender a funcionalidade de uma classe
Sintaxe
A estrutura de sintaxe de incluir. e requerem são semelhantes, mas o atributo que você anexar a cada um é diferente . A estrutura de sintaxe de um include acrescenta o atributo nome do módulo com a directiva "incluir" e encerra o atributo entre aspas duplas , como: incluir " . Modulename " Em uma declaração precisa, você acrescentar o atributo nome do arquivo sem o uso de aspas. Por exemplo : require nome
Localização
exigem declaração é uma afirmação autônoma de uma linha que é mais frequentemente inserido logo após arquivo caminho de abertura do programa. directiva. Por exemplo, se você escrever e guardar um método chamado de " semana" para a biblioteca e quiser usar o método em outro programa , adicione a exigir declaração : "A Semana "
# /usr /bin /rubyrequire
Embora menos comum , você também pode colocar uma instrução requerem dentro de um "se" instrução condicional . Um incluir é sempre parte de uma definição de classe maior. Dependendo de como você pretende usar o método , você pode incluir variáveis do método para definir a classe ainda mais longe:
classe Decadeinclude Weekno_of_yrs = 10def no_of_monthsputs Semana :: FIRST_DAYnumber = 10 * 12puts numberend
< br >
Considerações
Diferenças entre "Incluir " e "exigir" pode ajudar a criar um script Ruby robusto e bom funcionamento. Compreender , no entanto , que enquanto muitas vezes, usar os dois juntos , isto nem sempre é o caso . Sempre que você criar uma nova classe e pretende incorporar métodos de um módulo salvo na biblioteca módulo na nova classe , você deve usar ambos. Se você criar e usar o método dentro do mesmo programa , você só precisa de "incluir" que na sua definição de classe.