الصنفComplex في روبي
< Ruby
يمكن تمثيل الأعداد العقدية (تُسمّى أيضًا أعدادًا مركبة) كزوج مكون من عدد حقيقي ووحدة تخلية (العدد i) ؛ وفق الشكل a+bi، حيث a هو الجزء الحقيقي، و b هو الجزء التخيلي و i هو الوحدة الخيالية.
العدد الحقيقي a يساوي رياضياتيًا العدد العقدي a+0i.
يمكن إنشاء الأعداد العقدية بطريقة حرفية، وأيضا باستخدام التوابع Kernel#Complex أو ::rect أو ::polar أو #to_c. إليك الأمثلة التالية:
2+1i #=> (2+1i)
Complex(1) #=> (1+0i)
Complex(2, 3) #=> (2+3i)
Complex.polar(2, 3) #=> (-1.9799849932008908+0.2822400161197344i)
3.to_c #=> (3+0i)
يمكنك أيضا إنشاء الكائنات العقدية من الأعداد من النوع float أو من السلاسل النصية كما توضح الأمثلة التالية:
Complex(0.3) #=> (0.3+0i)
Complex('0.3-0.5i') #=> (0.3-0.5i)
Complex('2/3+3/4i') #=> ((2/3)+(3/4)*i)
Complex('1@2') #=> (-0.4161468365471424+0.9092974268256817i)
0.3.to_c #=> (0.3+0i)
'0.3-0.5i'.to_c #=> (0.3-0.5i)
'2/3+3/4i'.to_c #=> ((2/3)+(3/4)*i)
'1@2'.to_c #=> (-0.4161468365471424+0.9092974268256817i)
تُصنّف الأعداد العقدية إلى مضبوطة (exact) أو غير مضبوطة:
Complex(1, 1) / 2 #=> ((1/2)+(1/2)*i)
Complex(1, 1) / 2.0 #=> (0.5+0.5i)