STRUCT
Nessa pequena aulas vocês irão aprender o básico sobre a classe Struct.
Para que é usado a classe Struct? A classe Struct é um modo de agrupar vários atributos juntos, usando um método de acesso sem ter que escrever uma Class.
Especificadamente ela gera Classes, por isso ela é apelidada de "CustomerClass". Veja abaixo um código usando a classe Struct e outro usando a Class.
Especificadamente ela gera Classes, por isso ela é apelidada de "CustomerClass". Veja abaixo um código usando a classe Struct e outro usando a Class.
Notou a grande diferença? A optimização do código? Um código de 14 linhas foi reduzido para 3. Bom agora vamos aprender como usar a classe Struct.
Primeiro passo: O primeiro passo de todos é você definir a classe Struct é os argumentos. Veja abaixo como funciona os argumentos dessa classe.
Struct.new(*args)
Os argumentos são sempre definidos como símbolos seguindo a lógica de case_sensitive.
Errado: Struct.new("name", "age")
Certo: Struct.new(:name, :age)
Segundo passo: É você saber chamar essa classe, que tem duas maneiras de se chamar. Veja abaixo as duas formas respectivamente apresentadas.
1) Primeira forma é você utilizar uma constante e essa Constante será o nome da classe gerada(Por assim dizer). Veja abaixo.
John = Struct.new(:name, :age)
2) A segunda forma é você utilizar qualquer variável, porém no primeiro argumento definir o nome da classe que irá gerar(Por assim dizer). Veja abaixo.
John = Struct.new("Paulo", :name, :age)
Terceiro passo: É você saber chamar a classe gerada. Veja abaixo como se deve fazer:
O método de chamar é igual o modo de chamar uma Class. Utilizando-se do '.new' com os argumentos definidos. Veja abaixo.
classJohn = John.new("João", 31)
Quarto passo: É você saber que pode se chamar os argumentos definidos. Praticamente os argumentos em que você definiu quando chamou a class Struct podem ser chamados. Veja abaixo, um exemplo:
classJohn.name
classJohn.age
É o mesmo método que se usa nas classes/módulos para chamar um método. Quando chamado ele retorna a seu respectivo valor. Vocês podem mudar o valor que ele está carregando. Já que basicamente são variáveis os argumentos em que você definiu. Veja abaixo.
classJohn.name = "Novo Nome"
Agora para finalizar essa pequena aula básica sobre as Structs. Abaixo segue-se um exemplo usando ela é outro sem estar usando ela, afim de você comparar e aprender mais!