assim: 1 - e um Objeto da classe Fixnum 1231231.654645 - e um objeto da classe Float a - e um objeto da classe String true - e um objeto da classe TrueClass false - e um objeto da classe FlaseClass Sabendo que objetos tem metodos, quas sao os metodos de um Fixnum ou do 1 irb(main):007:0> 1.methods [%, inspect, <<, singleton_method_added, &, clone, >>, round, method, public_methods, instance_variable_defined?, divmod, equal?, freeze, integer?, chr, *, +, to_i, methods, respond_to?, -, upto, between?, prec, truncate, /, dup, instance_variables, __id__, modulo, succ, |, eql?, object_id, zero?, ~, id, to_f, singleton_methods, send, prec_i, taint, step, to_int, frozen?, instance_variable_get, ^, __send__, instance_of?, remainder, to_a, +@, nonzero?, -@, type, **, floor, <, protected_methods, <=>, instance_eval, display, ==, prec_f, quo, >, ===, downto, id2name, size, instance_variable_set, kind_of?, abs, extend, >=, next, to_s, <=, coerce, hash, ceil, class, tainted?, =~, private_methods, div, nil?, untaint, times, to_sym, [], is_a?] Notem que o Objeto 1 tem todos os metodos necessarios para ser auto-suficiente, ou seja, o objeto 1 e capas de se somar, subtrair, multiplicar, dividir e muitas outras acoes usando os metodos. Legal isso sendo assim a linguagem ruby nao tem nada a ver com soma, isso e responsabilidade dos objetos. Bem parece que a linguagem ruby realmente e bem simples, ela nao faz quase nada, nem mesmo operacoes matematicas basicas, etao o quela realmetne faz. Bem uma coisa interessante da linguagem ruby e o sintax sugar, e como e chamado alguns recursos de ajuda ao programador, coisas que tornam algo complicado de ser lido ou escrito em acucar sintatico para o programdor. Olhem esse exemplor - a = 10 + 20 Bem para se chamar um metodo de um objeto escreve-se assim Objeto.Metodo Entao ja que em Ruby o 10 e um Objeto Fixnum e + e um metodo do objeto ficaria ssim: a.=(10.+(20)) ai entra o sintax sugar em acao e deixa voe escrever assim: a = 10 + 20 Isso nao mudou nada o 10 continua sendo objeto e + um metodo do objeto 10, porem a sintaxe ficou acucarada e bem mais legivel, legal isso. A funcao de sintax sugar e muito usada em ruby, sempre que ruby puder tornar as coisas mais legies e simples ele as tornara. Funcoes avancadas em numeros Voltando as numeros, talvez voce tenha notado que apesar de a Classe Fixnum ter bastantes metodos ela nao contem metodos muto avancados de matematica, isso fic a cargo de um modulo chamado Math Raiz Quadrada de 25 ficaria assim em ruby Math.sqrt(25) Metodos do modulo Math [inspect, cos, log10, private_class_method, const_missing, clone, method, public_methods, atan, public_instance_methods, instance_variable_defined?, erf, method_defined?, equal?, freeze, included_modules, const_get, asinh, methods, respond_to?, sin, module_eval, class_variables, sqrt, dup, protected_instance_methods, cosh, instance_variables, public_method_defined?, erfc, __id__, eql?, object_id, const_set, atanh, id, singleton_methods, tan, send, frexp, class_eval, taint, frozen?, instance_variable_get, sinh, include?, private_instance_methods, __send__, instance_of?, private_method_defined?, to_a, name, exp, autoload, type, <, protected_methods, instance_eval, <=>, acos, display, ==, >, ldexp, ===, instance_method, instance_variable_set, tanh, kind_of?, extend, protected_method_defined?, const_defined?, >=, ancestors, atan2, to_s, <=, public_class_method, log, hash, class, tainted?, instance_methods, asin, =~, private_methods, class_variable_defined?,