Daily Archive for Viernes, junio 19th, 2009

Instalar FileZilla en Ubuntu 9.04

logo-ubuntu-2.jpg

Si al tratar de instalar el FileZilla en Ubuntu 9.04 te sale un mensaje que dice:

Cliente FTP FileZilla no puede instalarse en un equipo como el suyo (i386)

O bien la aplicación requiere funciones hardware especiales, o bien el vendedor ha decidido no soportar los equipos de las características del suyo.

La solución es simple, instálalo desde la línea de comandos con apt-get:

1
sudo apt-get install filezilla

¡Listo! :)

Artículos relacionados:

Convertir un número a palabras con Ruby

lobo_tuerto.png

Hace poco necesitaba escribir una cantidad usando palabras, así que me di una vuelta por internet para ver si algún alma caritativa había publicado alguna implementación en Ruby.

En este otro blog y también en este me encontré con una solución, pero revisando el código fuente se puede ver que tiene un problema:

12000000000.to_words
=> "doce mil "

Con mi programa:

numero_a_palabras(12000000000)
=> "doce mil millones"

Así que sin más, les comparto mi implementación. :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
def numero_a_palabras(numero)
  de_tres_en_tres = numero.to_i.to_s.reverse.scan(/\d{1,3}/).map{|n| n.reverse.to_i}
 
  millones = [
    {true => nil, false => nil},
    {true => 'millón', false => 'millones'},
    {true => "billón", false => "billones"},
    {true => "trillón", false => "trillones"}
  ]
 
  centena_anterior = 0
  contador = -1
  palabras = de_tres_en_tres.map do |numeros|
    contador += 1
    if contador%2 == 0
      centena_anterior = numeros
      [centena_a_palabras(numeros), millones[contador/2][numeros==1]].compact if numeros > 0
    elsif centena_anterior == 0
      [centena_a_palabras(numeros), "mil", millones[contador/2][false]].compact if numeros > 0
    else
      [centena_a_palabras(numeros), "mil"] if numeros > 0
    end
  end
 
  palabras.compact.reverse.join(' ')
end
 
def centena_a_palabras(numero)
  especiales = {
    11 => 'once', 12 => 'doce', 13 => 'trece', 14 => 'catorce', 15 => 'quince',
    10 => 'diez', 20 => 'veinte', 100 => 'cien'
  }
  if especiales.has_key?(numero)
    return especiales[numero]
  end
 
  centenas = [nil, 'ciento', 'doscientos', 'trescientos', 'cuatrocientos', 'quinientos', 'seiscientos', 'setecientos', 'ochocientos', 'novecientos']
  decenas = [nil, 'dieci', 'veinti', 'treinta', 'cuarenta', 'cincuenta', 'sesenta', 'setenta', 'ochenta', 'noventa']
  unidades = [nil, 'un', 'dos', 'tres', 'cuatro', 'cinco', 'seis', 'siete', 'ocho', 'nueve']
 
  centena, decena, unidad = numero.to_s.rjust(3,'0').scan(/\d/).map{|i| i.to_i}
 
  palabras = []
  palabras < < centenas[centena]
 
  if especiales.has_key?(decena*10 + unidad)
    palabras << especiales[decena*10 + unidad]
  else
    tmp = "#{decenas[decena]}#{' y ' if decena > 2 && unidad > 0}#{unidades[unidad]}"
    palabras < < (tmp.blank? ? nil : tmp)
  end
 
  palabras.compact.join(' ')
end

Si encuentras algún error en el programa, anótalo en un comentario abajo.

Para los que quieran conocer un poco más acerca de la solución de éste problema, continuen leyendo.

Continue reading 'Convertir un número a palabras con Ruby'

Artículos relacionados:

Kiwi!

A ver que les parece esta historia…

¿No creen que es hora de comenzar a plantar árboles?

Artículos relacionados:

Lobos en línea

De pata de lobo

Atardecer entre matorrales 1/3.
Desierto de Real de Catorce, San Luis Potosí, México. [Febrero 2007] Atardecer entre matorrales 2/3.
Desierto de Real de Catorce, San Luis Potosí, México. [Febrero 2007] Horizonte en el desierto 1/3.
Desierto de Real de Catorce, San Luis Potosí, México. [Febrero 2007] Campo de trigo en una tarde nublada.
Neuenkirchen, Deutschland. [Mayo 2007] Horizonte en el desierto 2/3.
Desierto de Real de Catorce, San Luis Potosí, México. [Febrero 2007] Horizonte en el desierto 3/3.
Desierto de Real de Catorce, San Luis Potosí, México. [Febrero 2007]

Qué estoy haciendo...

Posting tweet...

Powered by Twitter Tools

Mapa de visitas

Mira…

Calendario

junio 2009
L M X J V S D
« may   jul »
1234567
891011121314
15161718192021
22232425262728
2930  

FireStats icon Con la potencia de FireStats