Bücher online kostenlos Kostenlos Online Lesen
Die Programmiersprache Ruby (German Edition)

Die Programmiersprache Ruby (German Edition)

Titel: Die Programmiersprache Ruby (German Edition)
Autoren: David Flanagan , Yukihiro Matsumoto
Vom Netzwerk:
diese Variable auf die mit
-i
angegebene Backup-Dateinamenerweiterung gesetzt.
    $-l
true
, wenn die Option
-l
angegeben wurde. Nur lesbar.
    $-p
true
, wenn die Interpreter-Option
-p
angegeben wurde; andernfalls
false
. Nur lesbar.
    $-W
In Ruby 1.9 gibt diese globale Variable das aktuelle Verbose-Level (Ausführlichkeit von Meldungen) an. Sie ist
0
, wenn die Option
-W0
verwendet wurde, und
2
, wenn eine der Optionen
-w
,
-v
oder
--verbose
zum Einsatz kam. Andernfalls ist diese Variable
1
. Nur lesbar.
    10.2.4 Vordefinierte globale Funktionen
    Das von
Object
importierte Modul
Kernel
definiert eine Reihe privater Instanzmethoden, die als globale Funktionen dienen. Da sie privat sind, müssen sie als Funktionen aufgerufen werden, das heißt ohne explizites Empfängerobjekt. Und da sie von
Object
importiert werden, können sie überall aufgerufen werden – egal, was der Wert von
self
ist, ist er ein Objekt, und diese Methoden können implizit dafür aufgerufen werden. Die von
Kernel
definierten Funktionen lassen sich in verschiedene Kategorien unterteilen, von denen die meisten an anderen Stellen dieses Kapitels oder des Buches behandelt werden.
    10.2.4.1 Schlüsselwortfunktionen
    Die folgenden
Kernel
-Funktionen verhalten sich wie Sprachschlüsselwörter und werden an anderen Stellen in diesem Buch behandelt:
block_given? iterator? loop require
callcc lambda proc throw
catch load raise
    10.2.4.2 Texteingabe-, -ausgabe-, und -manipulationsfunktionen
    Kernel
defininiert die folgenden Funktionen, von denen die meisten globale Varianten von
IO
-Methoden sind. Sie werden detaillierter in „10.3 »Practical Extraction and Report«-Arbeitserleichterungen“ behandelt:
format print puts sprintf
gets printf readline
p putc readlines
    In Ruby 1.8 (aber nicht 1.9) definiert
Kernel
auch die folgenden globalen Varianten von
String
-Methoden, die implizit mit
$_
arbeiten:
chomp chop gsub scan sub
chomp! chop! gsub! split sub!
    10.2.4.3 Betriebssystemmethoden
    Die folgenden
Kernel
-Funktionen bieten einem Ruby-Programm eine Schnittstelle zum Betriebssystem. Sie sind plattformabhängig und werden in „10.4 Das Betriebssystem aufrufen“ behandelt. Beachten Sie, dass
`
die speziell benannte Backtick-Methode ist, die die Textausgabe eines beliebigen Betriebssystem-Shell-Kommandos zurückgibt:
` fork select system trap
exec open syscall test
    10.2.4.4 Warnungen, Fehler und Programmabbrüche
    Die folgenden
Kernel
-Funktionen geben Warnungen aus, lösen Ausnahmen aus, sorgen für ein Programmende oder registrieren Codeblöcke, die am Programmende ausgeführt werden. Sie werden zusammen mit den betriebssystemspezifischen Methoden in „10.4 Das Betriebssystem aufrufen“ dokumentiert:
abort at_exit exit exit! fail warn
    10.2.4.5 Reflexionsfunktionen
    Die folgenden
Kernel
-Funktionen sind Teil von Rubys Reflexions-API und wurden in Kapitel 8 beschrieben:
binding set_trace_func
caller singleton_method_added
eval singleton_method_removed
global_variables singleton_method_undefined
local_variables trace_var
method_missing untrace_var
remove_instance_variable
    10.2.4.6 Konvertierungsfunktionen
    Die folgenden
Kernel
-Funktionen versuchen, ihre Argumente in einen neuen Typ zu konvertieren. Sie wurden in „3.8.7.3 Konvertierungsfunktionen“ beschrieben:
Array Float Integer String
    10.2.4.7 Sonstige Kernel-Funktionen
    Die folgenden weiteren
Kernel
-Funktionen passen nicht in die obigen Kategorien:
autoload rand srand
autoload? sleep
    rand
und
srand
sind für die Erzeugung von Zufallszahlen zuständig und werden in „9.3.7 Zufallszahlen“ dokumentiert.
autoload
und
autoload?
werden in „7.6.3 Module automatisch laden“ behandelt. Und
sleep
wird in „9.9 Threads und Parallelität“ sowie in „10.4.4 Programme beenden“ behandelt.
    10.2.5 Benutzerdefinierte globale Funktionen
    Wenn Sie mit
def
eine Methode innerhalb einer
class
- oder
module
-Deklaration definieren und kein Empfängerobjekt für die Methode angeben, wird die Methode als öffentliche Instanzmethode von
self
erzeugt, wobei
self
die Klasse oder das Modul ist, die oder das Sie gerade definieren. Bei der Verwendung von
def
auf der höchsten Ebene, außerhalb aller
class
- oder
module
-Bereiche, gibt es zwei wichtige Unterschiede. Erstens sind Top-Level-Methoden Instanzmethoden von
Object
(obwohl
self
nicht
Object
ist). Zweitens sind Top-Level-Methoden immer privat.
    ----
    Top-Level self: das Objekt main
    Da Top-Level-Methoden Instanzmethoden von
Object
werden, erwarten Sie
Vom Netzwerk:

Weitere Kostenlose Bücher