How can I get the variable name of a child object?
    조회 수: 6 (최근 30일)
  
       이전 댓글 표시
    
I want to display the name of an object variable in its "disp" method.
I currently do the following:
methods
  function disp(this)
    objVar = inputname(1);
    disp(['Var: (' objVar ')']);
  end
end
This works great for a lone object:
>> myObj = myClass();
>> disp(myObj)
Var: (myObj)
>>
However, for a child object, it does not work:
>> myParent = myParentClass();
>> myParent.child = myClass();
>> disp(myParent.child)
Var: ()
>>
How can I get the variable name to display for a child object?
e.g.
>> myParent = myParentClass();
>> myParent.child = myClass();
>> disp(myParent.child)
Var: (myParent.child)
>>
댓글 수: 0
답변 (1개)
  Walter Roberson
      
      
 2013년 8월 27일
        You cannot, at least not without some nastiness involving the program examining its own source code. "myParent.child" is not a variable name. "myParent.child" will be treated as an expression, and expressions that are not simple variable names will always come out empty for inputname() purposes.
참고 항목
카테고리
				Help Center 및 File Exchange에서 Argument Definitions에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

