(o == null ? "null" : (o instanceof Lang.String ? "String" : (o instanceof Lang.Object ? "Object" : "?"))) ...
Thanks!
(o == null ? "null" : (o instanceof Lang.String ? "String" : (o instanceof Lang.Object ? "Object" : "?"))) ...
I wanted to try a code block with the .txt RaceQs posted. I'd heard it should be working. RaceQs - what error were you getting when you tried to post?
function type_name(obj) { if (obj instanceof…
I wanted to try a code block with the .txt RaceQs posted. I'd heard it should be working. RaceQs - what error were you getting when you tried to post?
function type_name(obj) { if (obj instanceof Toybox.Lang.Number) { return "Number"; } else if (obj instanceof Toybox.Lang.Long) { return "Long"; } else if (obj instanceof Toybox.Lang.Float) { return "Float"; } else if (obj instanceof Toybox.Lang.Double) { return "Double"; } else if (obj instanceof Toybox.Lang.Boolean) { return "Boolean"; } else if (obj instanceof Toybox.Lang.String) { return "String"; } else if (obj instanceof Toybox.Lang.Array) { var s = "Array ["; for (var i = 0; i < obj.size(); ++i) { s += type_name(obj); s += ", "; } s += "]"; return s; } else if (obj instanceof Toybox.Lang.Dictionary) { var s = "Dictionary{"; var keys = obj.keys(); var vals = obj.values(); for (var i = 0; i < keys.size(); ++i) { s += keys; s += ": "; s += vals; s += ", "; } s += "}"; return s; } else if (obj instanceof Toybox.Time.Gregorian.Info) { return "Gregorian.Info"; } else { return "???"; } }
Error Loading Previewfrom the Preview button. Assumed the worst so bailed out.
235 and 735xt
al ert(
Thanks for posting this. The Array and Dictionary code needed some tweaking. Here's my edited version:
using Toybox.Lang; function type_name(obj) { if (obj instanceof Toybox.Lang.Number) { return "Number"; } else if (obj instanceof Toybox.Lang.Long) { return "Long"; } else if (obj instanceof Toybox.Lang.Float) { return "Float"; } else if (obj instanceof Toybox.Lang.Double) { return "Double"; } else if (obj instanceof Toybox.Lang.Boolean) { return "Boolean"; } else if (obj instanceof Toybox.Lang.String) { return "String"; } else if (obj instanceof Toybox.Lang.Array) { var s = "Array ["; for (var i = 0; i < obj.size(); ++i) { s += type_name(obj[i]); s += ", \n"; } s += "]"; return s; } else if (obj instanceof Toybox.Lang.Dictionary) { var s = "Dictionary {\n"; var keys = obj.keys(); var vals = obj.values(); for (var i = 0; i < keys.size(); ++i) { s += keys[i]; s += ": "; s += vals[i]; s += ", \n"; } s += "\n}"; return s; } else if (obj instanceof Toybox.Time.Gregorian.Info) { return "Gregorian.Info"; } else { return "???"; } }
You can put that in a .mc file in your source folder, and call it like:
using Toybox.System; System.print("x = " + type_name(x));