I have the following list, how do I get the index of SplPparameter?
myList = {paramter1, parameter2, parameter3, Splparameter, parameterN, parameterEnd};
Ans is 4 in the above example.
Here are a couple of ways to handle your question.
Names Default To Here( 1 ); // My solution when list items are expressions myList = {paramter1, parameter2, parameter3, Splparameter, parameterN, parameterEnd}; For( i = 1, i <= N Items( mylist ), i++, If( myList[i] == Parse( "Splparameter" ), Break() ) ); Show( i ); // If elements are strings the contains can be used myList = {"paramter1", "parameter2", "parameter3", "Splparameter", "parameterN", "parameterEnd"}; i = Contains( myList, "Splparameter" ); // Same using Loc() function i = loc(mylist,"Splparameter" );
In the case of expressions, you can also use 'Loc()' (which returns a column vector):
Names Default To Here( 1 ); myList = {paramter1, parameter2, parameter3, Splparameter, parameterN, parameterEnd, Splparameter}; Print(loc(mylist, Expr(Splparameter)));
If you know that the items are expressions, then this shorter code will work.
Names Default To Here( 1 ); // My solution when list items are expressions myList = {paramter1, parameter2, parameter3, Splparameter, parameterN, parameterEnd}; Contains( myList, Expr( Splparameter ) );
If not, then you need a more general code like the one provided by @txnelson