ary=[]; File.read('/path/to/file').each_byte{|x| ary << (x == 10 ? "\n" : '&#'+x.to_s+';')}; ary.each_index{|i| ary[i] = ' ' if ary[i] == " " };puts ary.join('')
Muss man diesen Einzeiler noch kommentieren? ;)
Mediawiki interpretiert bestimmte Zeichen, z.b. ” und macht folgenden Text in der Zeile kursiv. Um dies zu vermeiden kann man die Zeichen als ASCII Notation angeben. Normalen Text mit ASCII zu mischen ist aber recht unhübsch weshalb es sich anbietet gleich die ganze Wikiseite in ASCII zu speichern. Der Einzeiler liest eine Datei ein und gibt ihn in ASCII formatiert aus. Mediawiki ignoriert Steuerreichen (z.B. \n) in ASCII Notation weshalb wir den ASCII-Test entsprechend formatiert ausgeben. Ein Beispiel:
#!/usr/bin/env ruby
require 'ipaddr'
(Um den ASCII Code zu sehen bitte den Quellcode der Seite lesen ;))
Verbesserung eines Arbeitskollegen:
ary=[]; File.read('/path/to/file').each_byte{|x| ary << (x == 10 ? "\n" : '&#'+x.to_s+';'); ary[-1].gsub!(" "," ");};puts ary.join('')