Search code examples
javascriptqtlazy-evaluationqtscript

Can you implement lazy array access in QtScript?


Is it possible to implement a QObject for use in QtScript which overloads [] to implement lazy array population?

I want to implement something like this:

var bar = foo["bar"];

and have the value be lazily calculated in C++ code. Is this possible?


Solution

  • Yes. bar will be available as a property in the QScriptValue object which represents foo.

    If you want the calculation to happen automatically, you possibly have to subclass QScriptClass and re-implement the property() accessor function.