Algumas características interessantes do Ruby fazem algumas tarefas mais rápidas. Em um programa oo para saber se um objeto é uma instância de uma determinada classe.
Em Java:
objeto instanceof Classe
Em Ruby:
objeto.is_a? Classe
Quando desejo usar herança:
Em Java:
public class Filho extends Pai
Em Ruby:
class Filho < Pai
Quando desejo criar um método que retorne a soma entre dois números:
Em Java:
public int soma(int v1, int v2){
return v1 + v2
}
Em Ruby:
def soma(v1,v2)
v1+v2
end
"Lançando exceções".
Em Java:
if (saldo < saque) throw new Exception("Sem fundos!")
Em Ruby:
raise Exception.new("Sem fundos!") unless saldo > saque
Algo que percebo é que as vezes para implementar características em Ruby, gasto menos linhas de código para o mesmo propósito quando usava Java (bem como o código se transforma em algo mais expressivo também). A principio esta característica de escrever menos assusta e logo vêm milhares de perguntas a cabeça como: quando e como retorno o valor... essa tipagem dinâmica, sei não viu... . Bem sobre algumas características (como o retorno do método) o Ruby utiliza algumas convenções:
Ao invés de digitar ; (em Java, C, C++, C#) para quebra de linha apenas usa o Enter para tal.
Ao invés de usar a palavra-chave return [mesmo que você possa utilizar-la] o Ruby entende que seu último comando será o retorno do método, todavia se quiser usar o return poderá também.
Quanto a tipagem dinâmica não sei muito sobre... quando souber posto aqui.
ps: Este post não é de forma alguma um "flamewar" para provar que uma linguagem é melhor do que outra...
Nenhum comentário:
Postar um comentário