Hi,
Is there a way to sort a list using the 4th element?
sort(iList, :Ascending, key := :first)
sort(iList, :Ascending, key := :second)
sort(iList, :Ascending, key := :third)
sort(iList, :Ascending, key := :fourth)
Regards,
Luc
Solved! Go to Solution.
Solved by FarrenYoung. Go to Solution.
Solved by FarrenYoung. Go to Solution.
The key parameter takes any function. So to sort the fourth you need to create a function that gets the fourth element.
For example:
sort(iList, :Ascending, key := :fourth)
Function fourth(inList As List) As Any
Return nth(4, inList)
End Function
This will also work in other functions, such as Find
Find(myValue, iList, key:=:fourth)
Thanks Farren! That's exactly was I was looking for!
Now, I can I get this new function to remain in the functions list permanently?
Regards,
Luc
You're welcome.
To make the function system wide, place it in "C:\Program Files\Autodesk\Inventor ETO Components 2012\Library\UserLib" (adjust for your version of eto)
Also, if you found my solution helpful I would appreciate any kudos you would like to give (Accept as Solution is great too). The two of these are used as a part of the formula to determine a users' "Ranking" and I'd like to increase mine 😛
Great! Thanks again!
Maybe one day I'll be a mentor as well
Luc
Farren's answer is correct.
Keep in mind though that the fourth function he wrote , using nth(4, mylist) does not work in the same way that first,second and third do, nth(4,{3,2,1}) returns 1 (i.e. the last element of the list), thirst({3,2}) returns novalue. No difference if your lists have the correct number of entities of course.
Elly
The function below will cause it to work the same as :first, :second, and :third.
Function fourth(inList As List) As Any
If length(inlist) < 4 then
Return NoValue
Else
Return nth(4, inList)
End If
End Function