Skip to content

LotusScript

LotusScript Classes and Delete

A couple of years ago I wrote a number of blog posts about LotusScript / VoltScript classes. The topic is relevant to both languages, we've not made any changes to how classes are managed in VoltScript, even though we discussed adding some things added to Visual Basic since LotusScript was created, things like additional modifiers. Even though classes are still the same, we've used some quite sophisticated aspects of class, as will be apparent to anyone who has looked at VoltScript Testing, its LotusScript port bali-unit, VoltScript JSON Converter, or VoltScript Collections.

Bali Unit Testing Framework Videos

Two weeks ago four videos were posted on OpenNTF's YouTube channel walking through the functionality of the Bali Unit testing framework. The videos are:

  1. Introduction to Bali Unit Repo: where to find the code and documentation, ask questions etc.
  2. Bali Unit Basic Introduction: the structure of test runner and test suites.
  3. Bali Unit Tests and Assertions: a deep dive into creating tests and the various assertion functions that are available.
  4. Bali Unit Advanced Functionality: custom testers and custom code to run before all tests, before each test, after each test, after all tests.

Andre's Directories Challenge

I am sure that anyone who uses LotusScript has been following the excellent blog posts of Andre Guirard. Recent blog posts on large arrays and queues have been particularly interesting for those of us working on VoltScript. His blog post on a Queue data structure ended with a challenge. The root of the problem is that the LotusScript Dir() function is not recursive. Without a parameter it gives the next file or directory relative to its last call. So you can't have one loop using Dir() and an inner loop that also uses Dir(). Andre uses a Queue class to perform FIFO (First In First Out), which achieves what's needed, but not as required:

LotusScript Variants: EMPTY, NULL, Nothing

One of the great things about working on VoltScript with our team are the regular discussions about the inner workings of the language. Of course it's also nice how easy it is to write and run a test script with the language, to quickly test various scenarios. Recently, because of two separate initiatives we've been working on, the topic of conversation has been Variants, and the potential values that denote a variant without a value.