[MonkeyC] Can I cast a symbol to integer?

Former Member
Former Member
Can I cast or convert a symbol to integer? Or show me please the other way to build and manipulate menu from an array.

Sample code:

menu = new Ui.Menu();
for(var i=0;i<data.size();i++) {
menu.addItem(data, i);
}
Ui.pushView( menu, new MenuInput(), SLIDE_LEFT );

.... Ui.MenuInputDelegate {
function onMenuItem(item) {
System.println("Select: "+data[(CAST!!!)item]);[/FONT]
  • Former Member
    Former Member over 10 years ago
    data[item.toNumber()]
  • Former Member
    Former Member over 10 years ago
    It would be to easy ;)

    Could not find symbol toNumber.
    Symbol Not Found Error
    in onMenuItem (/Users/sergiusz/ec/test/source/testView.mc:11)
    Failed invoking <symbol>
    Symbol Not Found Error
    Symbol Not Found Error
  • Former Member
    Former Member over 10 years ago
    Oh dear. I didn't read that very well did I. I think I've got an example somewhere, I'll hunt around.
  • Former Member
    Former Member over 10 years ago
    I seem to remember creating an array of symbols. Since a menu can only contain 16 items that's as big as it needs to be, or the max you expect. Something like...
    var symbols = [
    :sym0,
    :sym1,
    :sym2,
    :sym3,
    :sym4
    // .....
    ];

    for(var i=0; i < data.size(); i++) {
    menu.addItem(data, symbols);
    }

    function onMenuItem(item) {
    for(var i = 0; i < symbols.size(); i++) {
    if(item == symbols) {
    System.println("Select: " data);
    }
    }
    }
    [/CODE]
  • Former Member
    Former Member over 10 years ago
    Thx!! This hack is easy and good enough.