Ruby Modul gegeben Argumente ruft eine Methode auf?

8

Ich bin verwirrt darüber, was in den Nokogiri-Doku vorgeht.

Soweit ich das beurteilen kann,

%Vor%

dann machen diese drei Zeilen dasselbe:

%Vor%

Die zweite ist nur eine bequeme Methode für die erste. Aber für meine Nicht-Ruby-Augen sieht die dritte aus, als würde sie ein Argument an ein Modul übergeben, keine Methode. Ich weiß, dass Ruby Konstruktoren hat, aber ich dachte, sie hätten die Form Class.new, nicht Module (args). Was ist denn hier los?

    
bsamek 30.07.2011, 02:47
quelle

1 Antwort

8

Es ist nur Syntax Zucker, sehen Sie sich die Nokogiri :: HTML Moduldefinition an:

%Vor%

Zuerst definieren sie eine Klassenmethode im Modul Nokogiri mit dem Namen HTML (ja, Ruby erlaubt dies) und definieren dann das Modul Nokogiri :: HTML und dort definieren sie die Klassenmethode parse .

Die meisten Leute wissen es nicht, aber der :: -Operator kann auch zum Ausführen von Methodenaufrufen verwendet werden:

%Vor%     
Maurício Linhares 30.07.2011, 03:29
quelle

Tags und Links