MATLAB의 클래스에 관한 질문이 있습니다.MATLAB 클래스의 '선택적'속성 사용
필자는 파서를 쓰고 있는데, 항상 동일한 입력이있는 것은 아닙니다. 일부 변수는 항상 정의되지 않습니다. 여기에 짧게 모의 스크립트입니다
:test_parser.m
classdef test_parser < matlab.mixin.Copyable
properties (AbortSet = true)
a
b
end
end
make_class.m 다른 입력 길이의 명령 창에서 전화
이제function result = make_class(array)
result = test_parser;
result.a = array(1);
if length(array)>1
result.b=array(2);
end
end
>> make_class([10])
ans =
test_parser with properties:
a: 10
b: []
>> make_class([10,20])
ans =
test_parser with properties:
a: 10
b: 20
두 경우 모두 변수 b
은 지정된대로 test_parser
의 속성입니다. 내 소원은 b
이 선택 사항이므로 입력에 b
이있는 경우에만 표시됩니다.
이것을 달성하는 가장 좋은 방법은 무엇입니까? 선택적 매개 변수는 실제로 속성이 아닌 것 같군요?
을이 심미적 인 이유로 순수의 경우, 내가 솔루션이 될 것이다라고 말하고 싶지만 깨끗한 (즉, 중요한 비트입니다!) 대신의 코드를 유지하기 위해 출력을 표시하기 위해 "세미콜론 부족"에 의존하면서 간단히 클래스의 값을 표시하는 작은 함수를 만듭니다. – Wolfie