Я хотел бы создать макрос, который принимает строку в качестве параметра и оценивает ее для объекта. Что-то вроде:
#macro( valueTest $objRef)
#define( $obj )#evaluate("$${objRef}")#end
$obj.foo ## This would have to be translated to $obj.getFoo()
#end
К сожалению, переменная $ obj не указывает на ссылку на объект, которую можно использовать для вызова методов. $ obj является строкой, а $ obj.foo не пытается выполнить getFoo.
Почему-то у меня такое ощущение, что это характер оценки, и я не могу делать то, что хочу.
причина, по которой я хочу сделать что-то подобное, заключается в том, что у нас довольно мало макросов, которые принимают как путь привязки команды, так и саму команду в качестве параметра, и я надеюсь, что последний может быть получен из первого.