«Scheme»–ի խմբագրումների տարբերություն
Content deleted Content added
No edit summary |
No edit summary |
||
Տող 1.
{{Տեղեկաքարտ Ծրագրավորման լեզու
| սեմանտիկա = ֆունկցիոնալ
| կատարում = ինտերպրետացիա և կոմպիլյացիա
|
|
| տիպիզացիա = դինամիկ
| իրականացումներ = GNU Guile, GNU/MIT Scheme, GNU Kawa
Տող 14 ⟶ 13՝
== Շարահյուսությունը ==
Scheme լեզուն ստեղծելիս հեղինակները հիմնական շեշտադրումը կատարել են լեզվի պարզության և մինիմալիստության վրա։ Լեզուն իր շարահյուսությունն ուղղակիորեն ժառանգել է դասական LISP լեզվից։ Ծրագրերը և տվյալները ներկայացվում են S-արտահայտություններով (S-expression)՝ կլոր փակագծերի մեջ վերցրած ցուցակներով, որոնց առաջին տարրը գործողությունն է (oeprator), իսկ հաջորդները, եթե այդպիսիք առկա են, գործողության արգումենտները։ Օրինակ, հետևյալ արտահայտության մեջ, <code>equal?</code>-ը օբյեկտների հավասարությունը ստուգող գործողությունն է, իսկ <code>3.14</code> և <code>pi</code> սիմվոլները՝ նրա արգումենտները․
Տող 22 ⟶ 20՝
== Ֆունկցիայի սահմանումը ==
Scheme լեզվում ֆունկցիան կարելի է փոխանցել որպես մեկ այլ ֆունկցիայի արգումենտ կամ ֆունկցիան կարելի է վերադարձնել որպես հաշվարկման արժեք (այս դեպքում ընդունված է ասել, որ ''ֆունկցիան առաջին դասի օբյեկտ է'')։ Ֆունկցիաները սահմանվում են <code>define</code> օպերատորով։ Սրա առաջին արգումենտը մի ցուցակ է, որը պարունակում է սահմանվող ֆունկցիայի անունն ու պարամետրերը, իսկ հաջորդ արգումենտնրը կազմում են ֆունկցիայի մարմինը։ Օրինակ, հայտնի «Hello, world!» ծրագիրը Scheme լեզվով կունենա այսպիսի տեսք․
Տող 32 ⟶ 29՝
=== Անանուն ֆունկցիա ===
Անանուն ֆունկցիաները սահմանվում են <code>lambda</code> օպերատորով։ <code>lambda</code>-ի առաջին արգումենտը ֆունկցիայի պարամետրերի ցուցակն է, իսկ հաջորդները՝ ֆունկցիայի մարմինը կազմող արտահայտությունները։ Օրինակ, ֆունկցիան, որը ողջունում է տրված անունով մարդուն, սահմանվում է հետևյալ կերպ․
Տող 51 ⟶ 47՝
(newline)))
</source>
{{Ծրագրավորման լեզու}}
|