رينج (لغة برمجة)رينج (لغة برمجة)
رينج (بالإنجليزية: Ring) وتعنى الخاتم، هي لغة برمجة جديدة [3]، الرينج تعد لغة برمجة نصية تشبه في ذلك بايثون وروبي وهي مطورة باستخدام لغة سي، وتعمل على مختلف أنظمة التشغيل مثل ويندوز ولينكس وماك، كما تدعم العديد من أنماط البرمجة [4][5] تاريخ اللغة
الهدف
امثلةبرنامج Hello World!يمكن كتابة برنامج الترحيب كالتالى: See "Hello, World!"
برنامج شفرة قيصرما يلي هو نص برمجي لتنفيذ تعمية قيصر على مدخل معين : # Project : Caesar cipher
cipher = "pack my box with five dozen liquor jugs"
abc = "abcdefghijklmnopqrstuvwxyz"
see "text is to be encrypted:" + nl
see cipher+ nl + nl
str = ""
key = random(24) + 1
see "key = " + key + nl + nl
see "encrypted:" + nl
caesarencode(cipher, key)
see str + nl + nl
cipher = str
see "decrypted again:" + nl
caesardecode(cipher, key)
see str + nl
func caesarencode(cipher, key)
str = ""
for n = 1 to len(cipher)
if cipher[n] != " "
pos = substr(abc, cipher[n])
if pos + key < len(abc)
str = str + abc[pos + key]
else
if (pos+key)-len(abc) != 0
str = str + abc[(pos+key)%len(abc)]
else
str = str +abc[key+pos]
ok
ok
else
str = str + " "
ok
next
return str
func caesardecode(cipher, key)
str = ""
for n= 1 to len(cipher)
if cipher[n] != " "
pos = substr(abc, cipher[n])
if (pos - key) > 0 and pos != key
str = str + abc[pos - key]
loop
else
if pos = key
str = str + char(122)
else
str = str + abc[len(abc)-(key-pos)]
ok
ok
else
str = str + " "
ok
next
return str
البرمجة كائنية التوجه في رينجتدعم رينج البرمجة كائنية التوجه (الكائنات، الاصناف، التغليف، الوراثة) new point { # Create new object from the Point class the access the object using braces
x=10 y=20 z=30 # Set the object attributes
print() # Call the print() method
} # end of object access using braces
class point # Define the class
x y z # Define the attributes (x,y,z)
func print # Define the print() method
? x + nl + y + nl + z # Print the attributes values (nl means printing a new line)
العودية في رينجتدعم رينج العودية، ويمكن رؤية هذا في المثال أدناه وهو برنامج لتوليد الاعداد الكاتالانية : for n = 1 to 15
see catalan(n) + nl
next
func catalan n
if n = 0 return 1 ok
cat = 2 * (2 * n - 1) * catalan(n - 1) / (n + 1)
return cat
المخرجات: 1
2
5
14
42
132
429
1430
4862
16796
58786
208012
742900
2674440
9694845
مراجع
وصلات خارجية
ملحوظاتتم استخدام إبانة نحو للغة البرمجة لوا في الاكواد بتلك الصفحة لعدم توافر إبانة نحو خاصة برينج في ويكيبيديا، استخدمت إبانة نحو لوا لانها الاقرب الى رينج. |