Considere os trechos de código abaixo.
Trecho 1: Ruby
def compor proc1, proc2
Proc.new do |x|
proc2.call(proc1.call(x))
end
end
quadrado = Proc.new do |x|
x * x
end
dobre = Proc.new do |x|
x + x
end
dobroeQuad = compor dobre, quadrado
quadeDobro = compor quadrado, dobre
puts dobroeQuad.call(5)
puts quadeDobro.call(5)
Trecho 2: Phyton
class Candidata:
nome = ""
partido = ""
def descricao(self):
descstr = "%s é uma candidata do partido %s." % (self.nome, self.partido)
return descstr
cand1 = Candidata()
cand1.nome = "Maria"
cand2.partido = "XYP"
cand2 = Candidata()
cand2.nome = "Joana"
cand1.partido = "PXY"
# test code
print(cand1.descricao())
Em condições ideais, ao serem executados os trechos 1 e 2, as saídas são, correta e respectivamente:
Fonte: ANALISTA JUDICIáRIO - ANáLISE DE SISTEMAS / TRE/PR / 2017 / FCC