Este é um pequeno tutorial de Ruby que não deverá demorar mais de 20 minutos a completar. Assume-se que você já tenha o Ruby instalado em sua máquina.
Strings são sequências de caracteres entre aspas simples ou duplas. '' (ou seja duas aspas simples), não têm nada dentro; chamamos uma string vazia. Aqui está um programa que explora strings em certa medida.
Para contar a frequência com que os valores de um array se repetem, veja o exemplo abaixo: Será retornada uma hash com os valores como chave e a frequência de repetição como valores. O segredo é usar uma hash com valor default e retorná-la no final do bloco do inject. Rodando o programa vamos ter: {"banana"=>2, "abacate"=>1, "pera"=>1, "abacaxi"=>1, "morango"=>3} Exemplo:
Em alguns projetos, é necessário utilizar os nomes de meses, ou dias da semana em português. Eu sempre usei o método de sobrescrever as constantes que o Ruby usa, colocando o seguinte código no config/environment.rb: silence_warnings do Date::MONTHNAMES = [nil] + %w(Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro) Date::DAYNAMES = %w(Domingo Segunda-Feira Terça-Feira Quarta-Feira Quinta-Feira Sexta-Feira Sábado) Date::ABBR_MONTHNAMES = [nil] + %w(Jan Fev Mar Abr Mai Jun Jul Aug Set Out Nov Dez) Date::ABBR_DAYNAMES = %w(Dom Seg Ter Qua Qui Sex Sab) Time::MONTHNAMES = Date::MONTHNAMES Time::DAYNAMES = Date::DAYNAMES Time::ABBR_MONTHNAMES = Date::ABBR_MONTHNAMES Time::ABBR_DAYNAMES = Date::ABBR_DAYNAMES end Acontece, que quando usamos a função strftime, estes nomes não são traduzidos. Eles funcionam apenas nos helpers date_select, entro outros. Em um projeto meu, eu precisava usar estes nomes traduzidos, justamente com a função strftime, então, cheguei à este código:
Uma jogada legal com objetos do tipo Fixnum em Ruby é descobrir o valor do objeto através do seu object_id, fazendo um simples deslocamento binário:
Podemos converter facilmente um array com um número de elementos pares para uma hash. Executando o código: {"tres"=>"3", "um"=>"1", "dois"=>"2"} Convém prestar atenção no *, que nesse caso recebe o apelido carinhoso de operador splat. Ele vai "abrir" o array para o método [] da hash. Se esquecermos de usar o * o método vai reclamar dizendo que recebeu um valor ímpar para a hash (e recebeu mesmo, apenas um array). Código:
Para gerar um array com todos os caracteres de uma string em Ruby, nada mais simples que:
Quando você programa um computador, você tem que "falar" em uma língua que o seu computador entenda: uma linguagem de programação. Existem muitas e muitas linguagens por aí, e muitas são excelentes, uma delas é o Ruby.