Guest User

Untitled

a guest
Apr 19th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. # here lies some notes to help me with define_method
  2. class MetaTest
  3. define_method(:meta_1) do
  4. puts 'm.meta_1'
  5. end
  6.  
  7. def initialize
  8. @a_var = 'iable'
  9. end
  10.  
  11. define_method(:meta_2) do
  12. puts 'm.meta_2 with a_var' + @a_var
  13. end
  14.  
  15. # don't do this
  16. class_eval %Q?
  17. def meta_3
  18. puts 'm.meta_3 with a_var' + @a_var + ' with class_eval'
  19. end
  20. ?
  21.  
  22. # don't do this
  23. instance_eval %Q?
  24. def meta_4
  25. puts 'MetaTest.meta_4 with instance_eval'
  26. end
  27. ?
  28.  
  29. class << self
  30. define_method(:meta_5) do
  31. puts 'MetaTest.meta_5 with define_method'
  32. end
  33. end
  34. end
  35.  
  36. m = MetaTest.new
  37. m.meta_1
  38. m.meta_2
  39. m.meta_3
  40. MetaTest.meta_4
  41. MetaTest.meta_5
  42.  
  43. # Output
  44. # m.meta_1
  45. # m.meta_2 with a_variable
  46. # m.meta_3 with a_variable with class_eval
  47. # MetaTest.meta_4 with instance_eval
  48. # MetaTest.meta_5 with define_method
Add Comment
Please, Sign In to add comment