Fichas
Grundwissen der Programmiersprache Ruby
Fichas del conjunto (51)
- 1Wie nimmt man etwas zur Wurzel 4?Math.sqrt(4)
- 2Was ist "Math"? Wie bei Math.sqrt(4).Ein Mathematik Modul in Ruby. Das Methoden wie sin() oder tan() ausführen kann.
- 3Was macht der Punkt? Math.sqrt(9)Damit identifiziert man den Empfänger einer Mitteilung. Und die Mitteilung lautet in diesem Fall sqrt(9). Das bedeutet: “Rufe die Methode sqrt (kurz für “square root”, d.h. “Wurzel”) auf und übergib Ihr den Parameter 9.”
- 4Behält man das Ergebnis einer Rechnung?Wir weißen ihm eine Variable zu.
irb(main):007:0> a = 3 ** 2
=> 9
irb(main):008:0> b = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b)
=> 5.0 - 5Was machen wir, wenn wir ganz oft “Hallo” sagen wollen, ohne uns die Finger wund zu tippen?Wir definieren eine Methode!
irb(main):010:0> def h
irb(main):011:1> puts "Hallo, Welt!"
irb(main):012:1> end
=> nil - 6Was bedeutet das "=> nil"?Es kommt als Ergebnis von "puts".
- 7Was macht der Code "def h"? irb(main):010:0> def h irb(main):011:1> puts "Hallo, Welt!" irb(main):012:1> end => nilEr beginnt die Methodendefinition.
Er teilt Ruby mit, dass wir eine Methode definieren, deren Name h ist. Die nächste Zeile nennt man Rumpf (“Body”) der Methode. Sie ist identisch zu der Zeile, die wir schon von vorhin kennen: puts "Hallo, Welt!". Und schließlich teilt die letzte Zeile end Ruby mit, dass wir fertig mit der Methodendefinition sind. Rubys Antwort => nil sagt uns, dass Ruby das nun weiß.
irb(main):013:0> h
Hallo, Welt!
=> nil
irb(main):014:0> h()
Hallo, Welt!
=> nil - 8Kann man etwas einfach neu definieren?Ja.
- 9Wie kann man hier immer einen anderen Namen statt Lisa einsetzen lassen? "Hallo, Lisa"irb(main):015:0> def h(name)
irb(main):016:1> puts "Hallo, #{name}!"
irb(main):017:1> end
=> nil
irb(main):018:0> h("Matz")
Hallo, Matz!
=> nil - 10Was ist ein String?Eine Zeichenkette.
- 11Wie geht man sicher, dass der Name mit einem Großbuchstaben anfängt? puts "Hallo, Lisa"def h(name)
puts "Hallo, #{name.capitalize}" - 12irb(main):019:0> def h(name = "Welt") irb(main):020:1> puts "Hallo, #{name.capitalize}!" irb(main):021:1> end Was macht die erste Zeile?"Welt" ist ein voreingestellte Parameter (“default parameter”). Was das bedeutet, ist: “Wenn kein Name als Parameter mitgeliefert wird, benutze 'Welt' als Namen”.
- 13Was ist "@name"? irb(main):024:0> class Greeter irb(main):025:1> def initialize(name = "Welt") irb(main):026:2> @name = name irb(main):027:2> end irb(main):028:1> def sag_hallo irb(main):029:2> puts "Hallo, #{@name}!" irb(main):030:2> endDas ist eine Instanzvariable, die allen Methoden der Klasse zur Verfügung steht. Wie Du sehen kannst, wird sie von sag_hallo benutzt.
- 14irb(main):035:0> g = Greeter.new("Patrick") => # Wie geht es weiter, wenn man "Hallo, Patrick!" herausbekommen möchte?irb(main):036:0> g.sag_hallo
Hallo, Patrick!
=> nil
irb(main):037:0> g.sag_tschuess
Tschuess, Patrick, bis bald!
=> nil - 15Welche Methoden existieren nun für Greeter-Objekte? Wie findet man das heraus?irb(main):039:0> Greeter.instance_methods
=> ["method", "send", "object_id", "singleton_methods",
"__send__", "equal?", "taint", "frozen?",
"instance_variable_get", "kind_of?", "to_a",
"instance_eval", "type", "protected_methods", "extend",
"eql?", "display", "instance_variable_set", "hash",
"is_a?", "to_s", "class", "tainted?", "private_methods",
"untaint", "sag_hallo", "id", "inspect", "==", "===",
"clone", "public_methods", "respond_to?", "freeze",
"sag_tschuess", "__id__", "=~", "methods", "nil?", "dup",
"instance_variables", "instance_of?"] - 16Wie macht man sicher, dass die Eltern-Klassen für das Greeter Objekt nicht berücksichtigt werden?Indem wir false als Parameter angeben.irb(main):040:0> Greeter.instance_methods(false)
=> ["sag_hallo", "sag_tschuess"] - 17Was schreibt man, wenn man den Namen ansehen oder ändern möchte?irb(main):044:0> class Greeter
irb(main):045:1> attr_accessor :name
irb(main):046:1> end
=> nil - 18Was macht ..? irb(main):044:0> class Greeter irb(main):045:1> attr_accessor :name irb(main):046:1> end => nilDie Benutzung von attr_accessor hat zwei neue Methoden für uns definiert: Mit name erhält man den Wert, mit name= setzt man ihn.
- 19Wie beendet man Ruby?Um IRB zu beenden, gib “quit” oder “exit” ein, oder drücke einfach Strg-D.
- 20Was ist .each? Was macht es?each ist eine Methode, die einen Code-Block akzeptiert und diesen für jedes einzelne Element der Liste ausführt. Das Stück zwischen do und end ist ein solcher Block.
@names.each do |name|
puts "Hallo, #{name}!"
end
Man kann ihn als eine anonyme Funktion oder lambda ansehen. Die Variable zwischen den Pipe-Zeichen (”|”) ist der Parameter für diesen Block. - 21Wie macht man einen string? Was ist ein string?Einfach mit Anführungszeichen.
"Lisa"
A string is an ordered set of characters that the computer can process.
The quotes mark the beginning and the end of the string, and are required. - 22Wie lässt man man seinen Namen rückwärts schreiben?.reverse
Bsp. "Lisa".reverse
=> "asiL" - 23Wie bekommt man heraus wie viele Buchstaben verwendet wurden für einen String?"Lisa".length
=> 4 - 24Wozu braucht man .length zum Beispiel?Bei Passwörtern, damit das Programm antworten kann, dass das gewählte Passwort zu kurz ist.
- 25Wie kann man eine Nummer rückwärts schreiben?Zuerst muss man daraus einen String machen. Dann schreibt man z.B. : 30.to_s.reverse
- 26Was macht: to_s ?Konvertiert Werte zu Strings (Zeichenketten)
- 27Was macht: to_i ?Konvertiert Werte zu ganzen Zahlen.
- 28Was macht: to_a ?Konvertiert Werte zu Arrays.
Arrays sind wie Listen oder Felder. - 29Was sind Arrays und wie erstellt man einen sehr einfachen?Arrays sind wie Listen oder Felder.
Einfach: [ ]
eingeben. - 30Schreibe einen einfachen Array mit 3 Zahlen.[12, 47, 35]
Die Kommas sind wichtig! - 31Wie kann man bei einem Array die höchste Zahl herausfinden?.max
Bsp. [12, 15, 133, 233].max - 32Wozu ist eine Ruby Variable? Wie sieht sie aus?z.B. : ticket = [12, 143, 14]
Das = weißt den Zahlen die Variable zu. - 33Wie sortiert man Nummern in einem Array?.sort
Beispiel:
ticket = [12, 33, 232, 13, 44]
ticket.sort - 34Du hast eine Variable "poem" und möchtest in dem Gedicht nur ein Wort (toast) durch ein anderes ersetzen. Was machst du?poem['toast'] = 'honeydew'
(Beliebiges Wort statt honeydew). - 35gedicht['toast'] = 'honeydew' Was ändert sich in dem Gedicht?Das erste Wort toast wird durch honeydew ersetzt. Doch nicht alle Wörter toast.
- 36Wie kann man bei ein Gedicht (poem) Zeilenweise rückwärts schreiben lassen?poem.lines.to_a.reverse
- 37Was machen Ausrufezeichen in Methoden?Sie sind dazu da, Einfluss auf die jetzigen Daten zu nehmen und machen nicht nochmal eine extra Kopie dafür.
- 38Wozu gibt es die [ ] ?Die eckigen Klammern sind dazu da etwas bestimmtes zu suchen oder darauf "zu zielen".
- 39Wie sieht ein "empty hash" aus?{ }
- 40Was bekommt man, wenn man einen Doppelpunkt (:) vor ein Wort setzt?Ein Ruby Symbol.
Bsp.
:quite_good
Symbole brauchen weniger Computerspeicher als Strings. - 41Was ist der Unterschied zwischen einem Ruby Symbol und einem String? Wann benutzt man eher ein Symbol?Ein Symbol nutzt man, wenn man das wort sehr oft braucht in dem gleichen Programm.
Der Computer speichert das Symbol nur einmal und nicht wie bei einem String, der kopiert wird. - 42Was ist ein "block"?Ein Block Roby code, umgeben von geschweiften Klammern.
- 43Wie nennt man alles, was nach einer "method" aufgelistet ist?Ein "attachment".
print poem
-> print ist die Methode, poem das "attachment" - 44Wie finde ich heraus, wann ich eine Methode erstellt habe?.mtime
Beispiel:
File.mtime("/Home/comics.txt").hour - 45Was sind "Files"?Viele Methoden existieren um "files" Dateien zu bearbeiten und in Verzeichnissen zu suchen.
- 46Was sind "Arguments"?Eine Liste von Dingen, die in eine Methode gesendet wurden, unterteilt von Kommas.
- 47Nenne eine Möglichkeit einen code block zu erstellendo
...
end - 48Was macht: File.foreachDiese Methode öffnet eine Datei und gibt jeder Zeile der Datei zu dem block. Die Zeilen Variable in dem do..end block wechselt mit jeder Zeile in der Datei.
- 49Was ist "split"?Eine Methode für Strings, welche den String in einen Array aufbricht, dabei die den Teil entfernen, den du eingibst.
Eine Axt zerlegt den Doppelpunkt und die Zeile wird in die Hälfte gehackt, so dass die Daten in der url und name für jeden Comic gespeichert werden. - 50Was ist "strip"?Diese schnelle Metode entfernt extra Leerzeichen um die url. Nur für den Fall.
- 51Was ist die "p" Methode, was macht sie?p ist kurz für Paragraph.
Es geht sicher, dass jede deiner List-Items ihren eigenen Paragraph Platz hat.
Bsp.:
list do
p "Try out Ruby"
p "Ride a tiger"
Información
- Descripción
- Von der Seite https://www.ruby-lang.org/de/documentation/quickstart/2/ und http://tryruby.org/
- Creado por
- Lisa Hofmann · dic 2016
- Actualizado
- 7 mar 2018
- Visitas
- 42
- Etiquetas
- Valoración