Script.NET - Script.NET

Script.NET
Парадигмаимперативті, мета, сценарий
ӘзірлеушіMicrosoft
Пәнді терудинамикалық
Платформа.NET Framework
ЛицензияТегін
Веб-сайтwww.процик.com/ scriptdotnet
Әсер еткен
JavaScript

Script.NET немесе S # Бұл метапрограммалау сценарийлердің функционалдығын қамтамасыз ететін тіл Microsoft .NET қосымшалар жұмыс уақыты ұқсас тұтынушылық функционалдылықты орындау VBA жылы Microsoft Office қосымшалар. Script.NET синтаксисі ұқсас JavaScript. Ол .NET қосымшаларын реттеуге мүмкіндік беретін қарапайым және тиімді сценарий тілі болу үшін жасалған. Тілде жұмыс уақытының шынайы аудармашысы бар және ол қосымша жадтық жинақтамаларсыз орындалады.

Script.NET - бұл бастапқы көзі ашық жоба.

Метапрограммалау ерекшеліктері

Script.NET-те арнайы баға белгілеу операторы бар <[ бағдарлама ]> қайтады AST берілген бағдарламаның. Сонымен қатар, ағымдағы бағдарламаның AST-ге прог объект.

Міне мысал:

// MessageBox.Show үшін AST жасаңыз ('Сәлем'); бағдарламааст = <[ MessageBox.Көрсету('Сәлеметсіз бе'); ]>;// Ағымдағы бағдарламаның соңында осы AST қосыңызпрог.AppendAst(аст);

The <[ ... ]> операторы және прог нысандар Script.NET-ке жаңа сценарийлер жасауға немесе жұмыс істеп тұрған сценарийлерді өзгертуге мүмкіндік береді.

Жалпыланған нысандар

Script.NET-те кез-келген типтегі объектілерді басқаруға арналған «мета» объектілерінің ерекше түрін ұсынатын «Mutantic Framework» деп аталады. Ол класстар жиынтығынан тұрады, оның үстінде «DataMutant» класы орналасқан. Ол мутант объектісінің бірнеше принциптерін жүзеге асырады:

Анықтама

Мутант - бұл барлық қасиеттерге (өрістерге, әдістерге және т.б.) ие болатын кез-келген түрге түрлендірілуі мүмкін (немесе кез-келген типтегі объектіге тағайындалатын) ерекше объект. Мұндай конверсияның (немесе тағайындаудың) семантикасы прагматикалық тұрғыдан шартты болып табылады.

Арнайы оператор бар := мутантты немесе жалпыланған тағайындау деп аталады. Оның мақсаты - кез-келген типтегі объектінің сәйкес өрістеріне DataMutant өрістерінің мәндерін тағайындау.

Мысал. MO объектісін құру және пайдалану:

 // Мәліметтердің мутант нысанын құру mobj = [ Мәтін -> 'Мутанттан сәлем' ]; // Қосымша өрістер орнатыңыз mobj{{Жоқ а қате|.}}Жоғары = 0; mobj{{Жоқ а қате|.}}Сол = 0; // Windows Form объектісінің сәйкес өрістерін орнатыңыз // (Мутанттық тағайындау) форма := mobj;

Мысалдар

Сәлем Әлем

 MessageBox.Көрсету('Сәлем Әлем!');

Шығу функциясы бар көпіршікті сұрыптау

а=[17, 0, 5, 3,1, 2, 55];үшін (мен=0; мен < а.Ұзындық; мен=мен+1) үшін (j=мен+1; j <  а.Ұзындық; j=j+1)   егер (а[мен] > а[j] )   {     темп = а[мен];      а[мен] = а[j];     а[j] = темп;   }с = 'Нәтижелер:';үшін (мен=0; мен < а.Ұзындық; мен++)  с = с + ',' + а[мен];MessageBox.Көрсету(с);

RSS Reader

а = жаңа XmlDocument();а.Жүктеу('http://www.codeplex.com/scriptdotnet/Project/ProjectRss.aspx'); MessageBox.Көрсету('CodePlex Script.NET RSS ::');әрқайсысы үшін (n жылы а.SelectNodes('/ rss / channel / item / title'))  MessageBox.Көрсету(n.Ішкі мәтін);

Стек

20 элементтен тұратын стек Дизайн келісім-шарт бойынша ерекшелігі

функциясы Басыңыз(элемент)[// 10 элементпен шектеу алдын ала(мен{{Жоқ а қате|.}}Санақ < 10 );  пост(); өзгермейтін();]{ // мен мутацияланған объект,  // бұл жағдайда стек мен.Басыңыз(элемент);}функциясы Поп()[// Бостықты тексеру hardik алдын ала(мен{{Жоқ а қате|.}}Санақ > 0); пост(); өзгермейтін();]{ қайту мен.Поп();}стек = жаңа Стек<|int|>();// Мутант хардикін жасаңыз// 1. Функцияларды орнатыңыз, стекті қайта анықтаңыз {{Not typo |.}} PushmObject=[Басыңыз->Басыңыз,PopCheck->Поп];// 2. Нысанды түсіруmObject.Мутация(стек);үшін (мен=0; мен<5; мен++)  mObject.Басыңыз(мен);Консоль.WriteLine((жіп)mObject.PopCheck());

Сондай-ақ қараңыз

  • L Sharp - .NET үшін Lisp тәрізді сценарий тілі
  • Боо .NET платформасына арналған Python Like тілі
  • IronPython - .NET платформасына арналған Python-ті енгізу Джитон.
  • Немерле .NET платформасы үшін жоғары деңгейлі тіл.

Сыртқы сілтемелер