Le samedi 03 mars 2012 à 19:18 +0100, Jacob Carlborg a écrit : > On 2012-03-03 17:50, bioinfornatics wrote: > > Le samedi 03 mars 2012 à 17:42 +0100, bioinfornatics a écrit : > >> hi, > >> In ruby we can delegate some method. by example: > >> ---- Ruby ---- > >> class MineArray > >> include Forwardable > >> def_delegators: @array, :[], :[]=, :each_with_index, :length > >> > >> def initialize( array ) > >> @array = array > >> end > >> end > >> ------------- > >> > >> this code delegate opIndexAssign opIndex, length ... attribute to his > >> member. > >> > >> This save time, bug and line. You do not to have to write a code as: > >> void opIndexAssign( size_t index, T item){ > >> array[index] = item; > >> } > >> > >> thanks > >> > > I miss the question ^^ > > > > can w do same in D ? > > > > thanks > > I would say "yes", but not with the same pretty syntax. Something like this: > > class MineArray > { > mixin delegates!(array, "opIndexAssign", "opIndex"); > } > > Just implement "delegates" to generate the given functions and forward > them to "array". >
they are a way to create a decorator as @delgator for able to this pretty ?