जवाबों:
class
फ़ंक्शन का उपयोग करें
>> b = 2
b =
2
>> a = 'Hi'
a =
Hi
>> class(b)
ans =
double
>> class(a)
ans =
char
एक अन्य संबंधित कार्य है whos
। यह किसी दिए गए कार्यक्षेत्र में चर के लिए सभी प्रकार की जानकारी (आयाम, बाइट आकार, प्रकार) को सूचीबद्ध करेगा।
>> a = [0 0 7];
>> whos a
Name Size Bytes Class Attributes
a 1x3 24 double
>> b = 'James Bond';
>> whos b
Name Size Bytes Class Attributes
b 1x10 20 char
isa
फ़ंक्शन का उपयोग करते समय सावधान रहें । यह सही होगा यदि आपकी वस्तु निर्दिष्ट प्रकार की है या उसके किसी उपवर्ग की है। आपको फ़ंक्शन का परीक्षण करने के लिए उपयोग strcmp
करना होगा class
यदि ऑब्जेक्ट विशेष रूप से उस प्रकार का है और उप-वर्ग नहीं है।
चूंकि किसी ने इसका उल्लेख नहीं किया है, MATLAB में भी metaclass
फ़ंक्शन है, जो पास-इन यूनिट के बारे में जानकारी के विभिन्न बिट्स के साथ एक वस्तु देता है। ये meta.class
ऑब्जेक्ट विरासत के परीक्षणों (सामान्य तुलना ऑपरेटरों के माध्यम से) के लिए उपयोगी हो सकते हैं।
उदाहरण के लिए:
>> metaclass(magic(1))
ans =
class with properties:
Name: 'double'
Description: ''
DetailedDescription: ''
Hidden: 0
Sealed: 0
Abstract: 0
Enumeration: 0
ConstructOnLoad: 0
HandleCompatible: 0
InferiorClasses: {0×1 cell}
ContainingPackage: [0×0 meta.package]
RestrictsSubclassing: 0
PropertyList: [0×1 meta.property]
MethodList: [272×1 meta.method]
EventList: [0×1 meta.event]
EnumerationMemberList: [0×1 meta.EnumeratedValue]
SuperclassList: [0×1 meta.class]
>> ?containers.Map <= ?handle
ans =
logical
1
हम देख सकते हैं कि परिणाम के क्षेत्र के class(someObj)
बराबर Name
हैmetaclass(someObj)
।
class () बिल्कुल जावास्क्रिप्ट के टाइपोफ की तरह काम करता है ऑपरेटर ।
चर के बारे में अधिक जानकारी प्राप्त करने के लिए आप व्हाटस कमांड या व्हाट्स () फ़ंक्शन का उपयोग कर सकते हैं ।
यहाँ MATLAB R2017a कमांड विंडो पर निष्पादित उदाहरण कोड है ।
>> % Define a number
>> num = 67
num =
67
>> % Get type of variable num
>> class(num)
ans =
'double'
>> % Define character vector
>> myName = 'Rishikesh Agrawani'
myName =
'Rishikesh Agrwani'
>> % Check type of myName
>> class(myName)
ans =
'char'
>> % Define a cell array
>> cellArr = {'This ', 'is ', 'a ', 'big chance to learn ', 'MATLAB.'}; % Cell array
>>
>> class(cellArr)
ans =
'cell'
>> % Get more details including type
>> whos num
Name Size Bytes Class Attributes
num 1x1 8 double
>> whos myName
Name Size Bytes Class Attributes
myName 1x17 34 char
>> whos cellArr
Name Size Bytes Class Attributes
cellArr 1x5 634 cell
>> % Another way to use whos i.e using whos(char_vector)
>> whos('cellArr')
Name Size Bytes Class Attributes
cellArr 1x5 634 cell
>> whos('num')
Name Size Bytes Class Attributes
num 1x1 8 double
>> whos('myName')
Name Size Bytes Class Attributes
myName 1x17 34 char
>>
if ( string(class(b)) == 'double' ) fprintf(1, 'b is double'); end