AutoHotkey Webinar: 21/02/2017: Simple and Associative Arrays

We had a great webinar on Arrays!  Here are links to the videos

  • First hour video discussing below points
  • Second hour where we took a deep dive trouble-shooting an attendee’s script

Benefits of Simple and Associative Arrays in AutoHotkey

  • Speed – Objects are very fast!
  • Code maintenance / easier to update
  • Structured data
  • Easier to read / understand
    • Dot notation (names) can be very easy to read
    • Automatically group “variables” in a meaningful structure / Nesting deeper levels
  • Built-in functionality
  • Iterating over keys / values
  • Insert / Append to last
  • Remove / Remove last item
  • Count (Length)
  • Set / assign value (Index/Key – Value pair)
  • Retrieve / Lookup (Index/Key – Value pair)

Things to Remember with Simple and Associative Arrays in AutoHotkey

  • Keys are not case sensitive The following results in one key-value pair: {ex:1,EX:2}
  • Keys are unique (If you have duplicates, only the last one will be kept)
  • Simple Arrays can not have “empty” spots
  • Associative Arrays are not, necessarily, ordered in the way you’d expect (when iterate over can seem out of order)
  • Simple arrays are sequential
  • Simple Arrays can be considered Associative Arrays where the Index is the key
  • You must declare the object before or during population
  • To “nest” an object, you must declare the Parent and sub-objects first too!
  • Although the same, Lexikos recommends using { } for Associative Array & [ ] for Simple Array
  • You do not need to save the object to iterate over it
  • Arrays are often returned from API calls in JSON
  • While Simple and Associative Arrays in AutoHotkey take a bit of getting used to, in the long run, they are great time savers!

Resources for learning Simple and Associative Arrays in AutoHotkey

Featured script

Pasting clipboard to p.ahkscript.org– great for collaborating with others!

Additional Resources

During the webinar a few other scripts were mentioned.  Here are the links that were shared:

jszadmin

Drafter and Webmaster at JSZapp.com
I’m Jackie Sztuk or JSZ. I have a Drafter’s degree from Copenhagen Technical College (KTS) and my passion for windows scripting is what makes me want to help as meny as i can by writing great and easy to follow How-to's.

jszadmin

I’m Jackie Sztuk or JSZ. I have a Drafter’s degree from Copenhagen Technical College (KTS) and my passion for windows scripting is what makes me want to help as meny as i can by writing great and easy to follow How-to's.

Leave a Reply