Skip to content

Instantly share code, notes, and snippets.

@ramalho
Last active August 29, 2015 14:21
Show Gist options
  • Save ramalho/dc8cb542ae2e646d8e93 to your computer and use it in GitHub Desktop.
Save ramalho/dc8cb542ae2e646d8e93 to your computer and use it in GitHub Desktop.
ObjetoJS: emulação básica de um objeto JavaScript
"""
=========================================================
Classe ObjetoJS: imitação simples de um objeto JavaScript
=========================================================
Uma instância é construída passando argumentos nomeados:
>>> o = ObjetoJS(z=33, x=11, y=22)
A representação textual de uma instância parece a chamada do
construtor, mas com os argumentos exibidos sempre em ordem
alfabética (para facilitar os testes):
>>> o
ObjetoJS(x=11, y=22, z=33)
Os atributos podem ser acessados usando a notação `obj.atr`:
>>> o.y
22
Ou ainda a notação `obj['atr']`:
>>> o['y']
11
Também é possível criar novos atributos usando as duas notações:
>>> o.peso = 100
>>> o
ObjetoJS(peso=100, x=11, y=22, z=33)
>>> o['sabor'] = 'morango'
>>> o
ObjetoJS(peso=100, sabor='morango', x=11, y=22, z=33)
"""
@marioidival
Copy link

Professor, tem um problema nos testes. No inicio, você instancia ObjetoJS com os argumentos e valores x=11, y=22, z=33. Porém em um dos testes, foi adicionado uma expectativa diferente.

o.y == 11 # deveria ser 22

@ramalho
Copy link
Author

ramalho commented May 21, 2015

Valeu, @marioidival! Corrigido. Muito grato!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment