Guest User

Untitled

a guest
Jun 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. # Light metaprogramming.
  2. class Base
  3. @attr = (name) ->
  4. @::[name] = (val) ->
  5. if arguments.length > 0
  6. @["_#{name}"] = val
  7. else
  8. @["_#{name}"]
  9.  
  10. class Robot extends Base
  11. @attr 'power'
  12. @attr 'speed'
  13.  
  14. robby = new Robot
  15.  
  16. ok robby.power() is undefined
  17.  
  18. robby.power 11
  19. robby.speed Infinity
  20.  
  21. eq robby.power(), 11
  22. eq robby.speed(), Infinity
Add Comment
Please, Sign In to add comment