Ok, thanks you on behalf of the Boo mailing list On Wed, Jun 24, 2009 at 10:19 AM, Ayende Rahien <[email protected]> wrote:
> Not me, thank the Boo mailing list :-) > > > On Wed, Jun 24, 2009 at 3:14 PM, Craig Neuwirt <[email protected]> wrote: > >> Geeze, I can't believe I didn't try that ;^) Adding ; to a Boo script >> just never crossed my mind >> thanks for solving the mystery, >> craig >> >> >> >> On Tue, Jun 23, 2009 at 9:53 PM, Ayende Rahien <[email protected]> wrote: >> >>> Okay, this works: >>> Foo({i as int | >>> j = i * 2; >>> print j; >>> }, 1) >>> >>> >>> On Wed, Jun 24, 2009 at 2:19 AM, Craig Neuwirt <[email protected]>wrote: >>> >>>> Thanks, >>>> >>>> In certain circumstances I was able to abuse the language and use >>>> compund assignment operator , >>>> if all the statements had a return value. Of course, this breaks down >>>> for voids >>>> >>>> * b.Foo({i | * >>>> * i.DoSomething(),* >>>> * i.DoSomethingElse()* >>>> * })* >>>> >>>> cheers, >>>> craig >>>> On Tue, Jun 23, 2009 at 5:12 PM, Ayende Rahien <[email protected]>wrote: >>>> >>>>> I don't think that you can, but I posted it in the Boo mailing list. >>>>> >>>>> >>>>> On Tue, Jun 23, 2009 at 4:25 PM, Craig Neuwirt <[email protected]>wrote: >>>>> >>>>>> The issue I am having is when it isused within a fluent model. >>>>>> >>>>>> e.g. >>>>>> >>>>>> *class Bar: >>>>>> def Foo(f as IntCallable) as Bar: >>>>>> f(2) >>>>>> return self >>>>>> >>>>>> b = Bar()* >>>>>> >>>>>> I can do this >>>>>> >>>>>> *b.Foo do(i): >>>>>> print i >>>>>> print i + 2* >>>>>> >>>>>> which is a single call with multiple statements >>>>>> >>>>>> and I can do >>>>>> >>>>>> *b.Foo({i | print i}).Foo({i | print i + 2}) >>>>>> * >>>>>> which is chained calls with single statements, >>>>>> >>>>>> but how can I do chained calls with multiple statements >>>>>> >>>>>> *b;Foo( do(i): >>>>>> print i >>>>>> print i + 2 >>>>>> ) >>>>>> .Foo( do(i): >>>>>> print i + 3 >>>>>> print i + 4 >>>>>> )* >>>>>> >>>>>> and I can't figure out that syntax >>>>>> >>>>>> thanks, >>>>>> craig >>>>>> >>>>>> >>>>>> But how can I do the same thing if >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Jun 23, 2009 at 3:44 AM, Ayende Rahien <[email protected]>wrote: >>>>>> >>>>>>> This works for me: >>>>>>> import System >>>>>>> >>>>>>> callable IntCallable(i as int) >>>>>>> >>>>>>> def Foo(f as IntCallable): >>>>>>> f(2) >>>>>>> Foo do(i): >>>>>>> print i >>>>>>> >>>>>>> On Mon, Jun 22, 2009 at 9:24 PM, Craig Neuwirt >>>>>>> <[email protected]>wrote: >>>>>>> >>>>>>>> I am trying to use anonymous delegates in a binsor file, but I can >>>>>>>> only seem to get it to work for delegates with a singe statements, but >>>>>>>> I >>>>>>>> need to define multiple statements. >>>>>>>> >>>>>>>> e.g. Assume SomeMethod accepts an Action<Something> >>>>>>>> >>>>>>>> In my binsor I can do this >>>>>>>> >>>>>>>> SomeMethod( {s | s.Hello()} ) >>>>>>>> >>>>>>>> but how do I define the anonymous delegate with multple statements? >>>>>>>> >>>>>>>> I tried >>>>>>>> >>>>>>>> SomeMethod( do(s) : >>>>>>>> s.Hello() >>>>>>>> s.GoodBye() >>>>>>>> ) >>>>>>>> >>>>>>>> And >>>>>>>> >>>>>>>> SomeMethod() do(s): >>>>>>>> s.Hello() >>>>>>>> s.Goodbye() >>>>>>>> >>>>>>>> but neither works >>>>>>>> >>>>>>>> Any ideas? >>>>>>>> >>>>>>>> thanks, >>>>>>>> craig >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>> >>> >>> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en -~----------~----~----~----~------~----~------~--~---
