Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Level 7

Concatenation Issue

I have arrays holding my row info like so:

m.options
m.options1
m.options2
etc...

I want to pass them from roGridScreenEvent to my function by appending the msg.GetIndex() to m.options, ex:

myopt = m.options+msg.GetIndex()

but that fails - do you have to cast everything to strings, then to something else? Can't figure it out or find examples in the docs.
0 Kudos
5 Replies
Highlighted
Roku Employee
Roku Employee

Re: Concatenation Issue

"pcnweb" wrote:
I have arrays holding my row info like so:

m.options
m.options1
m.options2
etc...

I want to pass them from roGridScreenEvent to my function by appending the msg.GetIndex() to m.options, ex:

myopt = m.options+msg.GetIndex()

but that fails - do you have to cast everything to strings, then to something else? Can't figure it out or find examples in the docs.


If m.options is an array of integers, apparently from your example, then you would append a new one to it by doing m.options.Push( msg.GetIndex() ).
https://sdkdocs.roku.com/display/sdkdoc/ifArray
0 Kudos
Highlighted
Level 7

Re: Concatenation Issue

Thanks for the reply, guess I wasn't clear - I want to concatenate a number to the end of the actual array name, ex:

m.options + 1 would become m.options1
0 Kudos
Highlighted
Level 7

Re: Concatenation Issue

Seems like it would be easier to make m.options be an array, so you could say m.options[2] rather than m.option2. But if you really want to do this, then yes, you must do string manipulations, like

name = "options" + index.ToStr()
value = m[name]


--Mark
0 Kudos
Highlighted
Level 7

Re: Concatenation Issue

Thanks, both ideas are helpful!
0 Kudos
Highlighted
Roku Employee
Roku Employee

Re: Concatenation Issue

"pcnweb" wrote:
Thanks for the reply, guess I wasn't clear - I want to concatenate a number to the end of the actual array name, ex:

m.options + 1 would become m.options1


Ah, I see. Sorry, I hadn't understood the use case. Mark's suggestion to use an actual array rather than dynamic field names is a good one. Smiley Happy
0 Kudos