Que eu gosto de programar em Ruby não é novidade. Lembro que uma vez era festa de aniversário de uma empresa, e era necessário fazer várias alterações no DNS (named) e no Servidor Web (vhosts do Apache). Muito trabalho (trabalho repetitivo! coisa simples, mas trabalhosa, um saco), para pouco tempo. Este é o motivo pelo qual eu AMO o sed. Só sed salva, como diria um amigo.

Com Ruby não é diferente. Muitas vezes eu preciso fazer várias tarefas repetitivas e tudo o que menos é tempo, como por exemplo agora: tenho 318 arquivos do Microsoft Excel, com tamanhos bem variáveis, sendo que alguns deles tem 15 linhas e outros ultrapassam as 10 mil linhas. Tudo o que eu preciso é do conteúdo casado de três colunas. E agora, josé!?

require 'rubygems'
require 'parseexcel'

files = `ls -1 *.xls`.split(/\n/)
content = File.new('content.txt', 'w')

files.each do |file|
  wb = Spreadsheet::ParseExcel.parse(file)
  ws = wb.worksheet(0)
  grid = ws.map() { |r| r.map() { |c| c.to_s('latin1')}.compact rescue nil }

  grid.each do |g|
    content.puts g[3]
    content.puts g[4]
  end
end

content.close

Por estes e outros motivos que eu continuo amando Ruby, e vou acender um cigarro enquanto ele termina o trabalho árduo para mim :D Com Ruby você não precisa de um estagiário. Você o cria! MHWAHAHAHA

Posts relacionados:

  1. pfXXX – A Simple Interface for OpenBSD Packet Filter (written in Ruby on Rails!)
  2. Checar DNS de domínio em 5 linhas de código (Ruby way!)
  3. Integrate Ruby and Asterisk (call detail record) using ActiveRecord
  4. Traduzindo as coisas de uma forma simples
  5. How-To: Install Ruby on Rails (OpenBSD 4.2, two steps)

No comments yet

Deixe Seu Comentário