По вашему описанию, эта функция звучит как Dynamic
от Scala. От Скаладок ,
Черта маркера, которая позволяет динамические вызовы. Экземпляры х этого
trait позволяет вызывать x.meth (args) для произвольных имен методов meth и
списки аргументов Если вызов изначально не поддерживается х, это
переписано в x.applyDynamic ("meth", args).
То есть, если ваш класс расширяет Dynamic
, то вызовы вида x.arbitraryPropertyName
переводятся в x.applyDynamic("arbitraryPropertyName")
, и, конечно, вы можете определить поведение applyDynamic
.