読者です 読者をやめる 読者になる 読者になる

シンプルなDSL

ruby

もう、これでいいや。後は実際に必要になったら使いやすいように検討する方向で。

class Dsl
  def define(&block)                                                                                                         
    self.instance_eval(&block)                                                                                               
  end                                                                                                                        
                                                                                                                             
  def print_name                                                                                                             
    puts 'my name is hogehoge!\n'                                                                                               
  end                                                                                                                        
                                                                                                                             
  def print_age                                                                                                              
    puts 'i am hogeteen!\n'                                                                                                        
  end                                                                                                                        
end                                                                                                                          
                                                                                                                             
dsl = Dsl.new                                                                                                                
dsl.define{                                                                                                                  
  print_name                                                                                                                 
  print_age                                                                                                                  
  print_name                                                                                                                 
}