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
-~----------~----~----~----~------~----~------~--~---

Reply via email to