English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

نوع البيانات في Ruby

في هذا الفصل سنقدم لكم أنواع البيانات الأساسية لـ Ruby.

يتم دعم أنواع البيانات في Ruby الأساسية مثل Number، String، Ranges، Symbols، والقيم الخاصة مثل true، false وnil، بالإضافة إلى بنيات البيانات المهمة مثل Array وHash.

Number

Integer

يوجد نوعان من الأعداد الصحيحة، إذا كان في 31 موقعًا داخلاً (بأربعة بايت)، فإنه يكون Fixnum مثال. إذا كان أكثر من ذلك، فإنه يكون Bignum مثال.

من -230 إلى 230-1، في هذا النطاق من الأعداد هي نوع Fixnum للمعادلات، عندما يكون قيمة العدد أكبر أو تساوي 2^30 ( -262 إلى 262-1)، سيتم تحويله تلقائيًا إلى نوع Bignum.

يمكنك استخدام علامة استفهام اختيارية قبل عدد صحيح، مؤشر أساسي اختياري (0 للمحايد، 0x للمحايد العشري، 0b للمحايد الثنائي)، يتبعه سلسلة من الأرقام. يتم تجاهل رمز الخط السفلي في سلسلة الأرقام.

يمكنك الحصول على قيمة عددية لـ ASCII حرف أو سلسلة من الرموز المضمنة بواسطة علامة الاستفهام.

مثال عبر الإنترنت

123 # Fixnum عشري
1_234 # Fixnum عشري يحتوي على شرطة
-500 # Fixnum سالب
0377 # ثماني
0xff # عشري
0b1011 # ثنائي
الرمز "a".ord # رمز "a" من الترميز الحرفي
?\n                  # رمز سطر جديد (0x0a)
12345678901234567890 # الأعداد الكبيرة
 
#نوع الأعداد الصحيحة Integer، إليك بعض القيم المحددة للأعداد الصحيحة 
#القيمة المحددة (literal):كل قيمة مرئية في الكود، مثل الأعداد، القيم الحقيقية، القيم الحقيقية، النصوص等都 تُدعى قيمة محددة 
#مثل 0،1_000_000،0xa وما إلى ذلك 
a1=0 
 
#نوع الأعداد مع علامة الفاصلة الآسيوية 
a2=1_000_000 
 
#تمثيل الأعداد المختلفة 
a3=0xa 
puts a1,a2 
puts a3 
 
#puts print هي لطباعة الأحرف على الشاشة، حيث يضيف puts سطرًا جديدًا 
=begin 
هذا هو التعليق، يُدعى: تعليقًا مرتبطًا بالوثائق 
مثل /**/ في C# 
=end

نوع النقاط العشرية

Ruby يدعم الأعداد العشرية. وهي أرقام تحتوي على أجزاء. Float هي كائن من النوع، ويمكن أن تكون أيًا من الآتي.

مثال عبر الإنترنت

123.4                # قيمة نقية
1.0e6                # نظام العدد العلمي
4E20                 # ليس ضروريًا
4e+20                # رمز السيناريو قبل الأ指数
 
#نوع النقاط العشرية 
f1=0.0 
f2=2.1 
f3=1000000.1 
puts f3

عمليات الحساب

عمليات الجمع والطرح والضرب والقسمة: +-*/؛ عمليات الأ指数: **

السعة ليست بالضرورة عددًا صحيحًا، مثل

مثال عبر الإنترنت

#حساب الأ指数 
puts 2**(1/4)#نسبة 1 إلى 4 هي 0، ثم 2^0 هو 1 
puts 16**(1/4.0)#نسبة 1 إلى 4.0 هي 0.25 (الربع)، ثم جذور četvrti

نوع النصوص

النصوص في Ruby بسيطة وهي سلسلة من 8 بت، وهي كائنات من فئة String.

النصوص المحددة بالكوادس المزدوجة تسمح باستبدال واستخدام علامات النقاط العكسية، أما النصوص المحددة بالكوادس الواحدة فهي لا تسمح باستبدال، وتسمح فقط باستخدام "\\" و "\'".

مثال عبر الإنترنت

#!/usr/bin/ruby -w
 
puts 'استخدام "\\"';
puts 'That\'s right';

سيتم إنتاج النتيجة التالية:

استخدام "\" للهروب
That's right

يمكنك استخدام سلسلة #{ expr } استبدال قيمة أي تعبير Ruby بتعبير نصي. هنا، expr يمكن أن يكون أي تعبير Ruby.

مثال عبر الإنترنت

#!/usr/bin/ruby -w
 
puts "الضرب : #{24*60*60}";

سيتم إنتاج النتيجة التالية:

الضرب : 86400

مثال عبر الإنترنت

#!/usr/bin/ruby -w
 
اسم="Ruby" 
puts اسم 
puts "#{name+",ok"}"

نتيجة الإخراج هي:

Ruby
Ruby,ok

الرمز المضاد

الجدول أدناه يبين الرموز المضادة المدعومة من قبل Ruby:

الرمزالمحاولة الممثلة
\nالنقطة (0x0a)
\rالإدخال (0x0d)
\fالصفحة (0x0c)
\bالسحابة (0x08)
\aالصفير (0x07)
\eالرمز المضاد (0x1b)
\sالفضاء (0x20)
\nnnالتمثيل بالسلسلة الثمانية (n هو 0-7)
\xnnالتمثيل بالسلسلة العشرية (n هو 0-9، a-f أو A-F)
\cx, \C-xControl-x
\M-xMeta-x (c | 0x80)
\M-\C-xMeta-Control-x
\xحرف x

للحصول على مزيد من التفاصيل حول نص Ruby، يرجى الرجوع إلى نص Ruby (String)

المجموعة

تعريف نص مجموعة من خلال [] باستخدام الفواصل، ودعم نطاقات

  • (1) يمكن الوصول إلى المجموعة من خلال الرمز []

  • (2) من خلال العمليات الافتراضية للاضافة والإزالة والتبديل للعناصر

  • (3) من خلال الرموز +، - للدمج والإزالة، وتظهر المجموعة كجديدة

  • (4) من خلال الرمز << للاضافة إلى البيانات الأصلية

  • (5) من خلال الرمز * لاستنساخ عناصر المجموعة

  • (6) من خلال الرموز | و & لتحقيق التمايز والالتقاء (تأكد من الترتيب)

مثال عبر الإنترنت

#!/usr/bin/ruby
ary = [ "fred", 10, 3.14, "هذا هو النص", "القطعة الأخيرة", ]
ary.each do |i|
    puts i
fin

سيتم إنتاج النتيجة التالية:

fred
10
3.14
هذا هو نص
القطعة الأخيرة

للحصول على مزيد من التفاصيل حول مجموعة Ruby، يرجى الرجوع إلى مجموعة Ruby (Array)

نوع الحلقة

حلقة Ruby هي مجموعة من أزواج المفاتيح/القيم تُوضع داخل حروف المفتاح، وتُفصل المفاتيح والقيم بفاصلة وـ =>. يتم تجاهل الفاصلة في نهاية الحلقة.

مثال عبر الإنترنت

مثال عبر الإنترنت

#!/usr/bin/ruby
 
hsh = colors = { "الأحمر" => 0xf00, "الأخضر" => 0x0f0, "الأزرق" => 0x00f }
hsh.each do |key, value|
    اطبع مفتاح، "،هو "، القيمة، "\n"
fin

سيتم إنتاج النتيجة التالية:

الأحمر هو 3840
الأخضر هو 240
الأزرق هو 15

للحصول على مزيد من التفاصيل حول حلقة Ruby، يرجى الرجوع إلى حلقة Ruby (Hash)

نوع النطاق

يتم تمثيل النطاق كمنطقة.

يتم تمثيل النطاق عن طريق تعيين قيمة بدء و قيمة نهاية. يمكن بناء النطاق باستخدام s..e و s...e أو باستخدام Range.new.

يتم إنشاء النطاقات باستخدام .. من بدء القيمة إلى نهاية القيمة (تتضمن نهاية القيمة). يتم إنشاء النطاقات باستخدام ... من بدء القيمة إلى نهاية القيمة (لا تتضمن نهاية القيمة). عند استخدامها كمحول، تعود النطاقات إلى كل قيمة في السلسلة.

النطاق (1..5) يعني أنه يحتوي على القيم 1،2،3،4،5،النطاق (1...5) يعني أنه يحتوي على القيم 1،2،3،4 .

مثال عبر الإنترنت

#!/usr/bin/ruby
 
(10..15).each do |n|
    print n, ' '
fin

سيتم إنتاج النتيجة التالية:

10 11 12 13 14 15

للحصول على معلومات تفصيلية حول نطاق Ruby، يرجى الرجوع إلى نطاق Ruby (Range)