Quand je parle de programmation avec Pythonista au travail, je suis tout plongé dans le flux de Ruby Diss.
Pourquoi le détestez-vous autant?
TMTOWTDI est un acronyme pour "Il y a plus d'une façon de le faire." Et c'est la devise de Perl, qui signifie "il y a plus d'une façon".
Dans Ruby, je ne sais pas si c'est parce qu'il hérite de cette idée, mais de nombreuses méthodes de classes intégrées ont des alias définis.
Par exemple Enumerable#map,find,inject,select,include? Array#count Object#to_enum C'est un endroit comme ça.
Selon Pythonista, cela ne crée rien d'autre que de la confusion et des coûts d'apprentissage.
Ouaip ** Peut-être que tu as raison ... **
Je suis d'accord avec la variété des solutions,
python
### a-Génère une chaîne aléatoire de 8 caractères composée de 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
Fournir un alias pour une méthode avec la même fonction semble être un moyen d'augmenter les mauvais choix.
Il ne dit pas "Est-il possible d'obtenir la taille même avec Array # length?" Je me demande parfois: "Pourquoi n'y a-t-il pas de pli parce qu'Enumerable a injecté et réduit?"
Vous devez appeler lorsque vous exécutez Proc. Par conséquent, il semble qu'il n'est pas possible de gérer la fonction de manière transparente comme un objet de première classe.
Si la syntaxe d'appel de Proc est alignée sur la méthode, la simplicité d'appeler la méthode sans () est perdue.
python
constant = proc{42}
constant #=>Est-ce que constant est un appel ou une référence à Proc?
Proc nécessite (), et un traitement spécial tel qu'il est également délicat, donc je pense que c'est bien.
Selon Pythonista, je n'aime pas le fait que le nom soit étendu au niveau supérieur lorsque cela est nécessaire dans Ruby.
En Python, le nom de fichier devient un module lors de l'importation et l'espace de noms global n'est pas pollué. Vous pouvez également utiliser from pour spécifier le nom à charger au niveau supérieur.
Il n'y a aucun grondement à ce sujet.
Eh bien, je pense que je disais autre chose ...
Recommended Posts