Grundwissen der Programmiersprache Ruby

Description

Von der Seite https://www.ruby-lang.org/de/documentation/quickstart/2/ und http://tryruby.org/
Lisa Hofmann
Flashcards by Lisa Hofmann, updated more than 1 year ago
Lisa Hofmann
Created by Lisa Hofmann almost 8 years ago
13
0

Resource summary

Question Answer
Wie nimmt man etwas zur Wurzel 4? Math.sqrt(4)
Was ist "Math"? Wie bei Math.sqrt(4). Ein Mathematik Modul in Ruby. Das Methoden wie sin() oder tan() ausführen kann.
Was 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.”
Behä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
Was 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
Was bedeutet das "=> nil"? Es kommt als Ergebnis von "puts".
Was macht der Code "def h"? irb(main):010:0> def h irb(main):011:1> puts "Hallo, Welt!" irb(main):012:1> end => nil Er 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
Kann man etwas einfach neu definieren? Ja.
Wie 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
Was ist ein String? Eine Zeichenkette.
Wie geht man sicher, dass der Name mit einem Großbuchstaben anfängt? puts "Hallo, Lisa" def h(name) puts "Hallo, #{name.capitalize}"
irb(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”.
Was 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> end Das ist eine Instanzvariable, die allen Methoden der Klasse zur Verfügung steht. Wie Du sehen kannst, wird sie von sag_hallo benutzt.
irb(main):035:0> g = Greeter.new("Patrick") => #<Greeter:0x16cac @name="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
Welche 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?"]
Wie 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"]
Was 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
Was macht ..? irb(main):044:0> class Greeter irb(main):045:1> attr_accessor :name irb(main):046:1> end => nil Die Benutzung von attr_accessor hat zwei neue Methoden für uns definiert: Mit name erhält man den Wert, mit name= setzt man ihn.
Wie beendet man Ruby? Um IRB zu beenden, gib “quit” oder “exit” ein, oder drücke einfach Strg-D.
Was 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.
Wie 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.
Wie lässt man man seinen Namen rückwärts schreiben? .reverse Bsp. "Lisa".reverse => "asiL"
Wie bekommt man heraus wie viele Buchstaben verwendet wurden für einen String? "Lisa".length => 4
Wozu braucht man .length zum Beispiel? Bei Passwörtern, damit das Programm antworten kann, dass das gewählte Passwort zu kurz ist.
Wie kann man eine Nummer rückwärts schreiben? Zuerst muss man daraus einen String machen. Dann schreibt man z.B. : 30.to_s.reverse
Was macht: to_s ? Konvertiert Werte zu Strings (Zeichenketten)
Was macht: to_i ? Konvertiert Werte zu ganzen Zahlen.
Was macht: to_a ? Konvertiert Werte zu Arrays. Arrays sind wie Listen oder Felder.
Was sind Arrays und wie erstellt man einen sehr einfachen? Arrays sind wie Listen oder Felder. Einfach: [ ] eingeben.
Schreibe einen einfachen Array mit 3 Zahlen. [12, 47, 35] Die Kommas sind wichtig!
Wie kann man bei einem Array die höchste Zahl herausfinden? .max Bsp. [12, 15, 133, 233].max
Wozu ist eine Ruby Variable? Wie sieht sie aus? z.B. : ticket = [12, 143, 14] Das = weißt den Zahlen die Variable zu.
Wie sortiert man Nummern in einem Array? .sort Beispiel: ticket = [12, 33, 232, 13, 44] ticket.sort
Du 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).
gedicht['toast'] = 'honeydew' Was ändert sich in dem Gedicht? Das erste Wort toast wird durch honeydew ersetzt. Doch nicht alle Wörter toast.
Wie kann man bei ein Gedicht (poem) Zeilenweise rückwärts schreiben lassen? poem.lines.to_a.reverse
Was machen Ausrufezeichen in Methoden? Sie sind dazu da, Einfluss auf die jetzigen Daten zu nehmen und machen nicht nochmal eine extra Kopie dafür.
Wozu gibt es die [ ] ? Die eckigen Klammern sind dazu da etwas bestimmtes zu suchen oder darauf "zu zielen".
Wie sieht ein "empty hash" aus? { }
Was bekommt man, wenn man einen Doppelpunkt (:) vor ein Wort setzt? Ein Ruby Symbol. Bsp. :quite_good Symbole brauchen weniger Computerspeicher als Strings.
Was 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.
Was ist ein "block"? Ein Block Roby code, umgeben von geschweiften Klammern.
Wie nennt man alles, was nach einer "method" aufgelistet ist? Ein "attachment". print poem -> print ist die Methode, poem das "attachment"
Wie finde ich heraus, wann ich eine Methode erstellt habe? .mtime Beispiel: File.mtime("/Home/comics.txt").hour
Was sind "Files"? Viele Methoden existieren um "files" Dateien zu bearbeiten und in Verzeichnissen zu suchen.
Was sind "Arguments"? Eine Liste von Dingen, die in eine Methode gesendet wurden, unterteilt von Kommas.
Nenne eine Möglichkeit einen code block zu erstellen do ... end
Was macht: File.foreach Diese 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.
Was 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.
Was ist "strip"? Diese schnelle Metode entfernt extra Leerzeichen um die url. Nur für den Fall.
Was 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"
Show full summary Hide full summary

Similar

ein kleines Informatik Quiz
AntonS
Einführung Anwendungsentwicklung
G. E.
SCL Programmieren
Pascal Gerster
3_Scratch: Kostüme & Nachrichten
Michael Seeholzer
Einführung Programmieren
Aaron Welther
Phyton
Lisa Hofmann
Typescript
Curcubeu Z
Imperatives Programmieren
Marie Göske
Programmieren Karteikarten
Steffi Kirsche
Lab 1: Installation Party
sol.v.plan
HTML
Mira Krenn