Submitted QCC report 12691 for this. Pete lcSQL Software <http://www.lcsql.com> Home of lcStackBrowser <http://www.lcsql.com/lcstackbrowser.html> and SQLiteAdmin <http://www.lcsql.com/sqliteadmin.html>
On Sat, Jun 21, 2014 at 3:00 PM, Alex Tweedly <a...@tweedly.org> wrote: > On 21/06/2014 15:22, Richard Gaskin wrote: > >> At the RevLive conference in Vegas a few yeas back, Robert Cailliau's >> opening keynote covered some of the most adventurous feature requests I've >> ever heard anyone suggest for xTalks. >> >> Among them was the notion of named control structures, in part for >> exactly the reason covered in this thread, the desire to exit a specific >> loop when loops are nested. >> >> I can't recall the specifics of his proposed syntax, but I remember being >> impressed by how natural it seemed. Maybe it was along the lines of: >> >> repeat with i = 1 to tSomething named "MySomethingLoop" >> repeat with j = 1 to tSomethingElse named "MyOtherLoop" >> DoSomethingWith i,j >> exit "MySomethingLoop" >> end repeat >> end repeat >> >> With named control structures we'd never need to worry about line numbers. >> >> I'm not sure if that was submitted as a feature request, but IMO it >> should be. And it would be cool to have just about everything else he >> proposed go into the DB as well - all of it was valuable, very >> forward-thinking, reflecting the best of many other languages, all >> presented in a very xTalk way. >> > I believe it would be even better to (be able to) name both ends of the > control structure, and thereby get some extra help from the compiler if > there was any mismatch, as well as a better visual clue when reading the > code. (Without this, when you see an "exit repeat 'name'" statement you > need to look backwards to see the named control structure, and then > forwards to find the matching end; far easier to have the name at the end > as well). > > repeat for each key K in myArray named "arrayloop" > repeat with i = 1 to 1000 > if someFunc(K,i) then > doit K, i > next repeat "arrayloop" > end if > end repeat > if something() then exit repeat "arrayloop" > end repeat named "arrayloop > > IMO, either or both named clauses should be optional - no need to put in > both unless you choose to do the extra work for the extra convenience of > compiler checks, cf. explicitvariables. > > -- Alex. > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode