Unterschiede zwischen "Include" und "Verlangen" in Ruby

April 3

Sprachanalyse ist ein grundlegender Schritt lernen eine neue Programmiersprache – sogar eine vergleichsweise "einfache" Sprache wie Ruby. Ein genauen Blick hilft Ihnen die Unterschiede zwischen Programmelementen zu sehen, die letztlich bestimmen, wie ein Ruby-Skript verhält und später, wie das Skript korrekt verwendet. Auch die "Include" und "Verlangen" Aussagen auf den ersten Blick sehr ähnlich erscheinen mag, zeigt ein genauerer Blick Hauptunterschiede. Die beiden können einfach sein verwirrt ist, besonders wenn Sie vertraut sind mit Programmiersprachen, die diese Konzepte in unterschiedliche Begriffe zu definieren.

Identifikation

"Verlangen" gibt Ruby eine Anweisung, Klassen- oder Moduldatei aus dem Modul Bibliotheksverzeichnis zu importieren, so können Sie verweisen und verwenden Sie den Code im Modul in Ihrem Programm. "Include" ist ein Beispiel einer Ruby Präprozessordirektive genannt ein "mixin". Darin verweisen Sie ein Modul und damit das Modul und einige oder alle ihrer Handlungen in der Klassendefinition zu integrieren. Mithilfe einer mixin – in diesem Fall ein "gehören" – kann der Programmierer zu erhöhen oder die Funktionen einer Klasse erweitern.

Syntax

Die Syntaxstruktur von Include und erfordern sind ähnlich, aber das Attribut, das Sie anhängen, jeder ist anders. Die Syntaxstruktur der Include fügt das Modul Name-Attribut an die "Include"-Direktive und umschließt das Attribut in doppelte Anführungszeichen ein, wie: einschließen "Modulename." In einer require-Anweisung, fügen Sie das Filename-Attribut ohne Anführungszeichen. Zum Beispiel: Dateiname erforderlich.

Lage

A erfordern Anweisung ist eine einzeilige Standalone-Anweisung, die in den meisten Fällen eingefügt wird, kurz nachdem das Programm Pfad Datei Richtlinie Öffnung. Beispielsweise, wenn Sie schreiben und speichern eine Methode namens "Woche", die Bibliothek und die Methode in ein anderes Programm verwenden möchten, fügen Sie die require-Anweisung:

! / Usr/bin/Ruby "Woche" erfordern

Obwohl weniger häufig, Sie auch platzieren können eine Anweisung innerhalb einer "If"-bedingte Anweisung erforderlich. Include ist immer Teil einer größeren Klassendefinition. Je nachdem, wie Sie die Methode verwenden möchten können Sie Variablen von der Methode definieren die Klasse noch weiter aufnehmen:

Klasse Jahrzehntzählen der WocheNo_of_yrs = 10DEF no_of_monthssetzt Week::FIRST_DAYAnzahl = 10 * 12legt die AnzahlEnde

Überlegungen zur

Unterschiede zwischen "Include" und "Verlangen" hilft Ihnen eine robuste und gut funktionierende Ruby-Skript zu erstellen. Verstehen Sie jedoch, dass während die beiden oft gemeinsam verwendet wird, dies nicht immer der Fall. Wenn Sie eine neue Klasse erstellen und Methoden aus einem Modul gespeichert der Modul-Bibliothek in der neuen Klasse integrieren möchten, müssen Sie beide verwenden. Wenn Sie erstellen und verwenden Sie die Methode innerhalb desselben Programms, müssen Sie nur "es in der Klassendefinition enthalten".