I don't see how that works in my case, maybe i'm missing something.I will clarify:I define a variable in web to represent the range: 14502..14520The web converts this to a string, and passes it into my code.My code then has to receive this string, and then construct a list from it.I could do:String rangeString = passedInVar(String min, String max) = rangeString.tokenize("..")Range range = min..maxBut i was hoping for a universal "caster" loop which can detect and cast the common types from strings:Integers, lists, ranges, maps, booleans..12345["this", "is", "Sample", "List"]14502..14520["key":"value","for":"maps"]trueI think eval works for all but ranges.On Wed, Apr 20, 2016 at 1:15 AM, Guillaume Laforge <email@example.com> wrote:Hi,You can just replace the bounds with variables.def a = 1def b = 10def r = a..bIsn't that what you're looking for?Guillaume--
Le mercredi 20 avril 2016, Gerald Wiltse <firstname.lastname@example.org> a écrit :I can find no examples of different ways to create a range. There's a plethora of examples on what you can do when you start by creating a range like so: "1..10"But, how does one create a range when the min and max values are stored in variables? There's no range constructor. I see that it's a form of a list, but I see no helper methods for dynamically creating ranges given a min and max value.I even tried to get really fancy, but this evaluates to a string.def v = "10..15"
assert Eval.x(v, "return x").getClass().name == "java.lang.String"My use case is this. I populate a bunch of form fields with variable definitions... but they all get passed to my code as strings. But I want to pass port ranges and lists and maps. So, the Eval() method is exactly what I needed.. it just isn't working for ranges.Regards,