On Sat Sep 26 10:56:40 2009, dolmen wrote: > Evaluation of $*OUT.&printf does not gives a result consistent with > $*OUT.&say > > <dolmen> rakudo: say $*OUT.&printf.WHAT; > <p6eval> rakudo e33d20: OUTPUT«elements() not implemented in class > 'Sub'in Main (/tmp/iPwK5u8ApO:0)» > > <dolmen> rakudo: say $*OUT.&say.WHAT; > <p6eval> rakudo e33d20: OUTPUT«IO()<0x2b0344268580>Bool()» > <dolmen> rakudo: say &say.WHAT; > <p6eval> rakudo e33d20: OUTPUT«» > <dolmen> rakudo: $*OUT.printf("%05d", 5); > <p6eval> rakudo e33d20: OUTPUT«00005» > > -- > Olivier Mengué > http://o.mengue.free.fr/
Note: < sorear> say $*OUT.&say.WHAT === say (say($*OUT)).WHAT So that may not be quite what you're looking for, there (but the syntax you used does generate consistent results now also!). I assume you're wanting something more like: < [Coke]> rakudo: say $*OUT.^methods.first('printf').WHAT <+p6eval> rakudo 3fbd62: OUTPUT«Multi()» < [Coke]> rakudo: say $*OUT.^methods.first('say').WHAT <+p6eval> rakudo 3fbd62: OUTPUT«Multi()» So, this looks good to me. Assigning to moritz++ for testing. -- Will "Coke" Coleda