Willkommen bei Ruby on Rails von der Scratch Week 4! Diese Woche werden wir über die Ruby-Syntax sprechen. Nach diesem Tutorial glaube ich, dass Sie ein besseres Verständnis für den Rahmen haben und sich beim Ausführen von Dingen selbst wohler fühlen. Oh ja, und diese Woche gibt es eine Überraschung - einen Screencast! Also ohne weiteres, hier ist Woche 4!
Wenn Sie die Teile 1, 2 oder 3 nicht gelesen haben, sollten Sie sie unbedingt durchlesen, bevor Sie mit diesem Tutorial fortfahren.
Letzte Woche haben wir mehr über das Framework erfahren. Konkret sprachen wir über Dinge wie die Interaktion zwischen verschiedenen Controllern durch Erben von Aktionen, Rendern und Umleiten.
Wie Sie vielleicht erwarten, können Sie kaum eine ganze Sprache in einem Tutorial unterrichten, so dass wir wahrscheinlich nur einen wesentlichen Ruby in zwei Tutorials einteilen müssen. Für dieses Tutorial stelle ich mir jedoch vor, Zahlen und Zeichenketten zu behandeln. Dies sind wahrscheinlich die zwei grundlegendsten und wichtigsten Techniken in der Ruby-Sprache. Sobald Sie sich mit Strings und Zahlen auseinandersetzen, werden Sie wahrscheinlich nicht einmal daran denken, wenn Sie sie verwenden.
Eine Art von Klassen in der Programmiersprache Ruby sind Zahlen. Eigentlich gibt es zwei Arten von Zahlen. Ganzzahlen und Fließkommazahlen. Ganzzahlen sind die Standardnummer. Wenn Sie sich an die Mathematikklasse erinnern, können Ganzzahlen keine Dezimalstellen haben. Ebenso können Sie in Fließkommazahlen einen Dezimalpunkt haben. Ein weiterer wichtiger Punkt ist, dass Zahlen schließlich in eine Zeichenfolge umgewandelt werden, aber nachdem fast alles andere ausgeführt wird. Daher können Zahlen und Strings nicht zusammenarbeiten wie verketten.
Ganzzahlen sind die Standardwerte, die in der Ruby-Sprache verwendet werden. Verwenden Sie sie, wenn Sie sich nicht mit einem Dezimalzeichen befassen müssen. Zum Beispiel sind Ganzzahlen gut für das Zählen von Einsen. Wenn Sie eine Berechnung in Ruby als Ganzzahl durchführen und diese einen Dezimalpunkt hat, wird sie im Wesentlichen abgeschnitten:
Berechnung:
<%= 7/4 %>
Ergebnis: 1
Wie verwenden Sie also Gleitkommazahlen anstelle von ganzen Zahlen? Es gibt eine Methode, die es konvertiert:
<%= 7/4.to_f %>
Ergebnis: 1,75
Oft möchten Sie einen Objekttyp in einen anderen konvertieren, damit er mit Objekten dieser Klasse interagieren kann. Glücklicherweise macht Ruby es wirklich einfach:
In String konvertieren:
<%= '5'.to_s %>
In Ganzzahl konvertieren:
<%= '5'.to_i %>
In Gleitpunkt konvertieren:
<%= '5/3'.to_f %>
Wenn Sie eine Zahl in einen Fließkommazahl konvertieren, erhalten Sie zusätzliche Methoden, um sie anzuwenden. Die wichtigsten sind die Manipulation der Zahl beim Runden.
Runden
<%= (5/3.to_f).round %>
Falls Sie eine Fließkommazahl haben, bei der Sie die Dezimalstelle nicht wünschen, haben Sie grundsätzlich eine von drei Optionen. Die Rundung wird auf die nächste ganze Ziffer gerundet. Es wird auf die nächste Ziffer gerundet. (dh 2.3 wird 2 und 2,55 wird 3). In diesem Fall wäre das Ergebnis 2.
Ceil
<%= (5/3.to_f).ceil %>
Genau wie der Name vermuten lässt, wird die Ceil-Methode den Gleitpunkt um eine Ziffer erhöhen. Wenn es also 1,2 ist, sind es 2 und bei 1,6 sind es immer noch 2. In diesem Fall wäre das Ergebnis 2.
Fußboden
<%= (5/3.to_f).floor %>
Der Boden ist das Gegenteil von der Decke, indem er sie niederstößt. Mit anderen Worten, Sie können sich das so vorstellen, als würde es nur den Dezimalpunkt abschneiden und / oder wie das, was bei einer normalen Ganzzahl passieren würde. In diesem Fall wäre das Ergebnis 1.
Oft müssen Sie beim Programmieren zählen. Es gibt eine kürzere Methode in Ruby als Variable = Variable +1:
Fügen Sie der Variablen 1 hinzu: += 1
Subtrahiere 1 von der Variablen: -= 1
Multiplizieren Sie die Variable mit zwei: * = 2
Teilen Sie die Variable durch zwei: / = 2
Anwenden des obigen, lassen Sie uns es anwenden:
Zählung zählen: <%= count = 5 %> Addiere 1 (+ =): <%= count += 1%> 1 (- =) abziehen: <%= count -= 1%> Multiplizieren Sie mit 2 (* =): <%= count *= 2%> Division durch 2 (/ =): <%= count /= 2%>
Was produziert das:
Wir haben uns schon ein bisschen mit Strings beschäftigt. Erinnern Sie sich an all das "Warum Hallo" in der zweiten Woche? Wenn Sie nicht sicher sind, ob Sie noch einmal zurückkommen. Wir haben uns bereits mit dem Erkennen von Strings und Verkettungen beschäftigt. Für einen kurzen Überblick hier ein Auszug aus dem String-Bereich:
String-Verkettung
Sie können einen String in Ruby erstellen, indem Sie Anführungszeichen verwenden. Sie können sogar Strings miteinander kombinieren, indem Sie sie miteinander verketten. Dafür gibt es mehrere Möglichkeiten. Das logischste ist, es wie Mathe zu behandeln:
String Demo <%= 'This is kind of boring' %>
<%= 'Will I combine' + 'With You?' %>
Wenn wir dies ausgeben, zeigen wir, wie genau Ruby ist. Beachten Sie, dass zwischen kombinieren und mit kein Leerzeichen steht. Um ein Leerzeichen hinzuzufügen, fügen Sie am Ende des Kombinationsvorgangs oder vor mit einem ein Leerzeichen ein.
Andere Möglichkeiten, Strings zu kombinieren
Sie können Strings auch auf zwei andere Arten kombinieren. Eine Methode wäre
<%= 'Will I combine'.concat('With You?') %>
Dieses Format ist der Standard für die meisten Modifikatoren. Wir werden später noch mehr Möglichkeiten besprechen. Wir haben auch eine dritte Möglichkeit, Strings zu kombinieren.
<%= 'Will I combine' << 'With You?' %>
Beachten Sie jedoch, dass Sie mit dieser letzten Methode keine leere Zeichenfolge haben können. Wenn Sie also den String mit einer Variablen füllen, würde ich eine der ersten beiden verwenden, nur für den Fall, dass die Variable keinen Wert hat.
Hier sind einige weitere Methoden, die Sie auf Zeichenfolgen anwenden können. Die meisten sind selbsterklärend, daher werde ich nur den Code demonstrieren. Für alle diese Methoden können Sie davon ausgehen, dass ich bereits eine lokale Variable mit dem Namen deklariert habe Text
.
Profitieren
<%= text.capitalize %>
Fall tauschen
<%= text.swapcase %>
Fall hoch
<%= text.upcase %>
Down Case
<%= text.downcase %>
Umkehren
<%= text.reverse %>
Streifen
<%= 'Goodbye' + ' whitespace '.strip + 'And Hello!' %>
Mit der Strip-Methode können wir Leerzeichen aus der Zeichenfolge entfernen.
Einfügen
<%= text.insert(5, '*Excuse Me* ') %>
Einfügen ist fast wie die concat-Methode, außer dass Sie zwei Argumente anstelle von einem Argument übergeben. (Das zusätzliche Argument ist die Position in der Zeichenfolge, in die der Text eingefügt werden soll.) Beachten Sie außerdem, dass beim Einfügen in eine Variable die Zeichenfolge dauerhaft in die Variable eingefügt wird.
Länge
<%= text.length %>
Das Länge Die Methode gibt nichts in der Zeichenfolge zurück, sondern informiert Sie etwas über die Zeichenfolge. speziell die Länge der Zeichenfolge.
Daisy-Chaining-Methoden
<%= text.swapcase.reverse.strip %>
Ähnlich wie bei JQuery ist die Verkettbarkeit eine gute Eigenschaft von Ruby-Methoden, durch die weniger Code geschrieben werden kann.
Sie können in Ruby doppelte oder einfache Anführungszeichen verwenden. Es spielt keine Rolle Es gibt zwar bestimmte Vorkommnisse, bei denen Sie eines über dem anderen verwenden möchten. Wählen Sie in der Regel eine aus und bleiben Sie dabei. Jetzt werde ich einige Szenarien auflisten, in denen Sie eine davon bevorzugen.
Ein Zitat im String
Wenn Sie ein einfaches oder doppeltes Anführungszeichen in der Zeichenfolge selbst haben, möchten Sie die Zeichenfolge möglicherweise um die andere Art von Anführungszeichen wickeln. Bei der seltenen Möglichkeit, dass Sie ein doppeltes und ein einfaches Anführungszeichen in der Zeichenfolge haben, können Sie den hinteren Schrägstrich (\) vor dem Symbol verwenden, um anzugeben, dass die Zeichenfolge nicht beendet werden soll.
<%= "Sally's cat is brown." %> <%= 'The "cat" is brown.' %> <%= 'Sally\'s "cat" is brown.' %> <%= 'I love the \\ mark.' %>
Der obige Code würde wie folgt ausgegeben:
Sallys Katze ist braun.
Die "Katze" ist braun.
Sallys "Katze" ist braun.
Ich liebe das \ Zeichen.
Code in der Mitte eines Strings ausführen
Normalerweise ist es ziemlich schwierig, Code mitten in einer Zeichenfolge auszuführen. In Ruby gibt es einen noch einfacheren Weg als Verketten:
<%= "This string #'*hguoC* '.reverse * 3 just got interrupted."%>
Wie Sie sehen, können Sie mit dem obigen Code Ruby-Code innerhalb einer Zeichenfolge ausführen. Beachten Sie jedoch, dass Sie für die Zeichenfolge doppelte Anführungszeichen verwenden müssen.
Ok, so haben Sie hoffentlich ein viel besseres und tieferes Verständnis von Zahlen und Strings und wie man mit jedem von ihnen arbeitet. Nächste Woche werden wir über mehr Ruby-Syntax sprechen. besonders reicht und hases. Sobald Sie wissen, wie Sie damit arbeiten, werden Ihre Möglichkeiten unendlich groß. Stellen Sie sicher, dass Sie dies auch für nächste Woche gut im Griff haben. Versuchen Sie zu experimentieren und zu sehen, was funktioniert. Wenn Sie dies als hilfreich empfunden haben, geben Sie es bitte ein!