1 - Overview¶ ↑
Program modifies itself
Removes boiler-plate code
2 - Java¶ ↑
Annotations
@
3 - Ruby¶ ↑
Monkey-patching Passing blocks to methods
attr_accessor send
Rails: ActiveRecord associations
module Spree
class BscReq < ActiveRecord::Base
has_one :line_item, class_name: "Spree::LineItem"
...
end
end
Spree::LineItem.class_eval do
belongs_to :bsc_req, class_name: "Spree::BscReq"
end
4 - C/C++¶ ↑
C = macros
C++ = templates