Existe-t-il un langage de programmation (ou système de type) dans lequel vous pouvez exprimer les fonctions Python suivantes de manière statique et sécurisée (sans avoir à utiliser les conversions, les contrôles d'exécution, etc.)?Comment sécuriser ces fonctions typées dynamiquement?
#1
:
# My function - What would its type be?
def Apply(x):
return x(x)
# Example usage
print Apply(lambda _: 42)
#2
:
white = None
black = None
def White():
for x in xrange(1, 10):
print ("White move #%s" % x)
yield black
def Black():
for x in xrange(1, 10):
print ("Black move #%s" % x)
yield white
white = White()
black = Black()
# What would the type of the iterator objects be?
for it in white:
it = it.next()
Est-ce que c'est un devoir? –
Non! Pourquoi penses-tu ça? – Dario
Ceux-ci devraient être dans deux questions séparées. Les conséquences de leur présence dans la même question sont évidentes, comme la plupart des réponses ci-dessous abordent l'une ou l'autre, mais pas les deux. Donc fermeture comme _too large_. – rightfold