Wenn ich über das Programmieren mit Pythonista bei der Arbeit spreche, bin ich alle mit dem Fluss von Ruby Diss beschäftigt.
Warum hasst du es so sehr?
TMTOWTDI ist eine Abkürzung für "Es gibt mehr als einen Weg, es zu tun". Und es ist Perls Motto, was bedeutet "es gibt mehr als einen Weg".
In Ruby weiß ich nicht, ob es daran liegt, dass es diese Idee erbt, aber für viele Methoden integrierter Klassen sind Aliase definiert.
Zum Beispiel Enumerable#map,find,inject,select,include? Array#count Object#to_enum Es ist so ein Ort.
Laut Pythonista verursacht dies nichts als Verwirrung und Lernkosten.
Jep ** Vielleicht hast du Recht ... **
Ich bin mit der Vielfalt der Lösungen einverstanden,
python
### a-Generieren Sie eine zufällige 8-stellige Zeichenfolge bestehend aus z
# 1
str = ""
alphabet = ('a'..'z').to_a
8.times do
str << alphabet.delete(alphabet.sample)
end
# 2
('a'..'z').to_a.shuffle.take(8).join
# 3
('a'..'z').sort_by{rand}[0..7].join
Das Bereitstellen eines Alias für eine Methode mit derselben Funktion scheint eine Möglichkeit zu sein, die falschen Auswahlmöglichkeiten zu erhöhen.
Es heißt nicht "Ist es möglich, die Größe auch mit Array # Länge zu erhalten?" Ich frage mich manchmal: "Warum gibt es keine Falte, weil Enumerable injiziert und reduziert hat?"
Sie müssen es aufrufen, wenn Sie Proc ausführen. Daher scheint es nicht möglich zu sein, die Funktion als erstklassiges Objekt transparent zu behandeln.
Wenn die aufrufende Syntax von Proc mit der Methode übereinstimmt, geht die Einfachheit des Aufrufs der Methode ohne () verloren.
python
constant = proc{42}
constant #=>Ist konstant ein Anruf oder ein Verweis auf Proc?
Proc erfordert () und eine spezielle Behandlung, wie sie heikel ist, daher denke ich, dass dies in Ordnung ist.
Laut Pythonista gefällt mir nicht, dass der Name bei Bedarf in Ruby auf die oberste Ebene erweitert wird.
In Python wird der Dateiname beim Importieren zu einem Modul und der globale Namespace wird nicht verschmutzt. Sie können auch einen Namen angeben, der mit from auf die oberste Ebene geladen werden soll.
Es gibt kein Grollen darüber.
Nun, ich glaube ich habe etwas anderes gesagt ...
Recommended Posts