|
|
|
Forum Member
      
Group: Forum Members
Last Login: Today @ 07:41:18
Posts: 38,
Visits: 1 560
|
|
Can I use inner tuples (tuples inside tuples)?
To get order number of object in collection I use this OCL:
let a=AppUser.allInstances in (
a->collect(p|p, (a->indexof(p) + 1))
)
EcoDebugger:
"Current type is: Collection(Part1:AppUser+Part2:System.Int32)"
OK.
Curren object in collecton:
let a=AppUser.allInstances in (
a->collect(p|p, (a->indexof(p) + 1)).Part1
)
Curren order number in collecton:
let a=AppUser.allInstances in (
a->collect(p|p, (a->indexof(p) + 1)).Part2
)
All is working fine.
This OCL works normally:
let a=AppUser.allInstances in (
a->collect(p|p, (a->indexof(p) + 1))
->collect(q|q)
)
EcoDebugger:
"Current type is: Collection(Part1:AppUser+Part2:System.Int32)"
This OCL works normally too:
let a=AppUser.allInstances in (
a->collect(p|p, (a->indexof(p) + 1))
->collect(q|q, 10)
)
Current type is: Collection(Part1 art1:AppUser+Part2:System.Int32+Part2:System.Int32)
This OCL works normally:
let a=AppUser.allInstances in (
a->collect(p|p, (a->indexof(p) + 1))
->collect(q|q, 10).Part2
)
This OCL is not working:
let a=AppUser.allInstances in (
a->collect(p|p, (a->indexof(p) + 1))
->collect(q|q, 10).Part1
)
I see window with error:
"unknown type of member: Part1:AppUser+Part2:System.Int32:
But EcoDebugger shows:
"Current type is: Collection(Part1:AppUser+Part2:System.Int32)"
Then I try to get Collection(AppUser)
let a=AppUser.allInstances in (
a->collect(p|p, (a->indexof(p) + 1))
->collect(q|q, 10).Part1.Part1
)
Error: "unknown type of member: Part1:AppUser+Part2:System.Int32:
What is wrong?
Thanks
Seg
|
|
|
|
|
Forum Guru
      
Group: Forum Members
Last Login: Yesterday @ 07:39:05
Posts: 74,
Visits: 537
|
|
Hi seq, yes you can use it as ITuple. I do so. You can even write conevter using automapper or emitmapper, to extract values.
Alex
|
|
|
|