[PYTHON] Ich möchte widerlegen "Das ist in Ruby nicht cool"

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 schlecht

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?"

Proc # -Aufruf ist gut

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.

erfordern ist nicht cool

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

Ich möchte widerlegen "Das ist in Ruby nicht cool"
Ich möchte sagen, dass es eine Datenvorverarbeitung gibt ~
Ich möchte SUDOKU lösen
Ich möchte initialisieren, wenn der Wert leer ist (Python)
Ich möchte systemd grob verstehen
Wenn ich versuche, pip zu verwenden, ist das SSL-Modul nicht verfügbar.
Ich möchte Bilder kratzen und trainieren
Ich möchte ○○ mit Pandas machen
Ich möchte Yolos Anmerkung kopieren
Ich möchte mit Python debuggen
Ich möchte eine Datei, die keine bestimmte Zeichenfolge ist, als logrotate Ziel angeben, aber ist es unmöglich?
Ich möchte die Anzahl von num_boost_round anzeigen, wenn Early_stopping mithilfe des XGBoost-Rückrufs angewendet wird (nicht erreicht).
Ich möchte wütend auf meine Mutter werden, wenn die Erinnerung knapp ist
Ich habe versucht, Deep Learning zu implementieren, das nicht nur mit NumPy tiefgreifend ist
Ich habe eine KI gemacht, um zu beurteilen, ob es Alkohol ist oder nicht!
Ich möchte Spyder an die Taskleiste anheften
Ich möchte Objekte mit OpenCV erkennen
Ich möchte kühl auf die Konsole ausgeben
Ich möchte in der Einschlussnotation drucken
Ich möchte sie alle zusammen kratzen.
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte einen Blog mit Jupyter Notebook schreiben
Ich möchte mit dem Reim part3 umgehen
Ich möchte ein Glas aus Python verwenden
Ich möchte eine Python-Umgebung erstellen
Ich möchte Linux auf dem Mac verwenden
Ich möchte eine Pip-Installation mit PythonAnywhere durchführen
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Ich möchte IPython Qt Console verwenden
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte ein Automatisierungsprogramm erstellen!
Ich möchte Matplotlib in PySimpleGUI einbetten
Ich möchte mit dem Reim part2 umgehen
Ich möchte Android-Apps auf Android entwickeln
Ich möchte, dass CAPTCHA HIWAI-Wörter sagt
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich möchte den Pfad des Verzeichnisses abrufen, in dem die laufende Datei gespeichert ist.
[Linux] Sie haben keine Root-Rechte. Aber ich möchte yum installieren.
Python-Programm ist langsam! Ich möchte beschleunigen! In einem solchen Fall ...
Ich möchte Matplotlib zu einem dunklen Thema machen
Ich möchte aus verschiedenen Sprachen eine Verbindung zu PostgreSQL herstellen
Ich möchte an eine Wiederholung denken können
Ich möchte einfach ein Rauschmodell erstellen
Ich möchte MATLAB feval mit Python verwenden
Ich möchte Datetime.now in Djangos Test reparieren
Ich möchte einen DataFrame in MSSQL einfügen
Ich möchte mich mit Schlüsselwortargumenten von Python merken
Ich möchte mit Python ein Fenster erstellen
Wie auch immer, ich möchte JSON-Daten einfach überprüfen
Ich möchte mit Python eine E-Mail von Google Mail senden.
[Python] Ich möchte 7DaysToDie von Discord aus verwalten! 1/3
Ich möchte datetime.datetime.now () auch mit pytest verspotten!
Ich möchte mehrere Bilder mit matplotlib anzeigen.
Ich möchte 100 Datenwissenschaften mit Colaboratory schlagen
Ich möchte ein Spiel mit Python machen
Ich möchte CSV-Dateien mit Vega-Lite visualisieren!