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