Я хотел бы создать макрос, который принимает строку в качестве параметра и оценивает ее как объект. Что-то типа:
#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.
Почему-то у меня такое ощущение, что такова природа оценки и невозможно сделать то, что я хочу.
причина, по которой я хочу сделать что-то подобное, заключается в том, что у нас довольно мало макросов, которые принимают как путь привязки команды, так и саму команду в качестве параметра, и я надеюсь, что последняя может быть получена из первой.