Die Programmiersprache Ruby (German Edition)
(siehe „2.4 Programmkodierung“ für weitere Informationen über Quellkodierung und externe Standardkodierung):
-K Code
In Ruby 1.8 gibt diese Option die Quellkodierung des Skripts an und setzt die globale Variable
$KCODE
. In Ruby 1.9 setzt sie die externe Standardkodierung des Ruby-Prozesses und legt eine Standardquellkodierung fest.
Geben Sie als Code einen der folgenden Werte an:
a
,
A
,
n
oder
N
für ASCII;
u
oder
U
für Unicode;
e
oder
E
for EUC-JP;
s
oder
S
for SJIS. (EUC-JP und SJIS sind gängige japanische Kodierungen.)
-E Kodierung, --encoding=Kodierung
Diese Optionen entsprechen
-K
, erlauben jedoch die Angabe der Kodierung anhand ihres Namens anstatt durch eine einbuchstabige Abkürzung.
10.1.4 Textverarbeitungsoptionen
Die folgenden Optionen verändern Rubys Standardtextverarbeitungsoperator oder sind hilfreich, wenn Sie mit der Option
-e
einzeilige Skripten schreiben:
-0 xxx
Diese Option ist die Ziffer
0
, nicht der Buchstabe O.
xxx
sollte zwischen null und drei Oktalziffern enthalten. Wenn sie angegeben werden, sind diese Ziffern der ASCII-Code des Eingabezeilentrennzeichens (englisch input record separator character ) und setzen die Variable
$/
. Das definiert »eine Zeile« für
gets
und entsprechende Methoden.
−0
selbst setzt
$/
auf den Zeichencode
0
.
−00
ist etwas Besonderes: es versetzt Ruby in den »Absatzmodus«, in dem Zeilen durch zwei aufeinanderfolgende Zeilenumbrüche voneinander getrennt werden.
-a
Diese Option trennt die einzelnen Zeilen automatisch in Felder und speichert diese in
$F
. Diese Option funktioniert nur mit den Schleifenoptionen
-n
oder
-p
und fügt am Beginn jeder Iteration den Code
$F = $_.split
ein. Siehe auch
-F
.
-F Feldtrenner
Diese Option setzt den Eingabefeldtrenner
$;
auf
Feldtrenner
. Dies betrifft das Verhalten von
split
bei einem Aufruf ohne Argumente. Siehe
-a
.
Feldtrenner
kann ein einzelnes Zeichen oder ein beliebiger regulärer Ausdruck ohne Begrenzungs-Slashes sein. Je nach Shell müssen Sie die Backslashes in jedem regulären Ausdruck auf der Kommandozeile möglicherweise in Anführungszeichen setzen oder verdoppeln.
-i [ext]
Diese Option editiert die auf der Kommandozeile angegebenen Dateien an Ort und Stelle. Aus den Dateien, die Sie auf der Kommandozeile angeben, werden Zeilen gelesen, und die Ausgabe geht zurück in dieselben Dateien. Wenn
ext
angegeben wird, wird eine Backup-Kopie der Dateien erstellt; zu den Dateinamen wird
ext
hinzugefügt.
-l
Diese Option gleicht den Ausgabezeilentrenner (output record separator)
$\
dem Eingabezeilentrenner
$/
an (siehe
−0
), so dass an die Textausgabe mit
print
automatisch Zeilenumbrüche angefügt werden. Diese Option ist für den Gebrauch mit
-p
oder
-n
gedacht. Wenn
-l
mit einer dieser Optionen verwendet wird, wird automatisch
chop
aufgerufen, um den Eingabezeilentrenner vom Ende jeder Eingabezeile zu entfernen.
-n
Diese Option führt das Programm aus, als sei es von der folgenden Schleife umschlossen:
while gets # Eine Eingabzeile in $_ einlesen
$F = split if $-a # $_ in Felder trennen, wenn -a angegeben wurde
chop! if $-l # Zeilenenden von $_ entfernen, wenn -l angegeben wurde
# Programmtext hier
end
Diese Optionen funktionieren auch in Ruby 1.9, obwohl die globalen Funktionen
chop!
und
split
in dieser Version der Sprache nicht mehr verfügbar sind.
Diese Option wird oft mit
-e
verwendet. Siehe auch
-p
.
-p
Diese Option führt das Programm aus, als würde es von der folgenden Schleife umschlossen:
while gets # Eine Eingabezeile in $_ einlesen
$F = split if $-a # $_ in Felder trennen, wenn -a angegeben wurde
chop! if $-l # Zeilenenden von $_ entfernen, wenn -l angegeben wurde
# Programmtext hier
print # $_ ausgeben ($/ anfügen, wenn -l angegeben wurde)
end
Diese Option funktioniert auch in Ruby 1.9, obwohl die globalen Funktionen
chop!
und
split
in dieser Version der Sprache nicht mehr verfügbar sind.
Diese Option wird oft mit
-e
verwendet. Siehe auch
-n
.
10.1.5 Weitere Optionen
Die folgenden Optionen passen in keine der obigen Kategorien:
-c
Diese Option parst das Programm und meldet eventuelle Syntaxfehler, führt es aber nicht aus.
-C Verzeichnis, -X Verzeichnis
Diese Optionen ändern das aktuelle Verzeichnis in
Verzeichnis
, bevor das Programm ausgeführt wird.
-s
Wenn diese Option angegeben wird, verarbeitet der Interpreter sämtliche Argumente, die hinter dem Programmnamen stehen und mit einem Bindestrich beginnen. Für Argumente in der Form
-x=y
setzt
Weitere Kostenlose Bücher