الصنف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)