Kobra | |
---|---|
Nyelvóra |
több paradigma : objektumorientált |
Megjelent | 2006 |
Szerző | Chuck Esterbrook |
Fájlkiterjesztés _ | .cobra |
Kiadás | 0.9.6 ( 2013. december 23. ) |
Típusrendszer | statikus , szigorú , dinamikus , típuskövetkeztetés |
Főbb megvalósítások | .NET-keretrendszer , Mono |
Befolyásolt | Python , Eiffel , C# , Objective-C , D |
Engedély | MIT |
Weboldal | cobra-language.com |
A Cobra egy általános célú , magas szintű objektum-orientált programozási nyelv. Chuck Esterbrook tervezte.NET és Mono platformokhoz . A nyelv szintaxisa a Python szintaxisán alapul , és behúzást használ a kódblokkok szintaktikai kiemelésére. A nyelv támogatja a statikus és dinamikus gépelést , a szerződéses programozás támogatását és a beépített egységtesztet . Lehetősége van lambda kifejezések , lezárások , listakifejezések és generátorok használatára . A Cobra gyors fejlődést és nagy teljesítményt tesz lehetővé [1] .
A Cobra nyelvi implementáció nyílt forráskódú , az MIT licence alatt 2008. február 29-én adták ki, lehetővé téve a kód ingyenes használatát és módosítását.
A Cobra egy mechanizmust biztosít a DocString kód dokumentálására .
class Utils share def countChars ( s as String , c as char ) as int """ Az s karakterlánc c karaktereinek számát adja vissza. """ count = 0 for ch in s if ch == c count += 1 return countLehetővé teszi egy adott osztály, tulajdonság vagy metódus helyességének ellenőrzését a program forráskódjában.
class Utils megosztott def countChars ( s as String , c as char ) as int """ Visszaadja a c karakterek számát a stringben s """ test assert Utils . countChars ( '' , c 'x' ) == 0 assert Utils . countChars ( 'x' , c 'x' ) == 1 assert Utils . countChars ( 'X' , c 'x' ) == 0 assert Utils . countChars ( ' ! ! ' , c ' !' ) == 2 testszám = 0 ch esetén s ha ch == c count + = 1 visszatérési számÉrvényes bemenetet biztosít a hívott komponens számára, segítve a hibák korábbi észlelését, amikor azok könnyebben diagnosztizálhatók.
osztály Ügyfél var _contacts as List < of Contact > get contacts from var def addContact ( kapcsolattartó mint kapcsolattartó ) olyan kapcsolattartást igényel , amely nem található meg . kapcsolattartó . _ név kapcsolat . ügyfél nulla kapcsolattartás biztosítása . _ ügyfél == ez . kapcsolatok . gróf == régi . kapcsolatok . szám + 1 testkontaktus . _ ügyfél = this _contacts . hozzáadás ( kapcsolat )Sok esetben elkerüli a futásidejű nullmutató hibákat. A Cobrában a null akkor adható át, ha a nullálható típus megengedett: egyetlen kérdőjel (?) utótag.
class Foo def bar ( s as String ? ) if s # ugyanaz, mint "ha s nem nulla" print Utils . countChars ( s , c 'x' )A Cobra-ra számos programozási nyelv hatott:
Helló világ példa:
osztály Hello def főnyomat ' Hello , world!'Fibonacci számgenerátor példa:
class Fib def compute ( int - nek számít ) as List < of int > megosztott lista = List < of int > ( ) a , b = 0 , 1 for i in count list . add ( b ) a , b = b , a + b visszatérési lista osztály Program def main i = 1 n esetén a Fib -ben . számítás ( 10 ) print '[i]. [n]' i += 1Példa az osztályra:
osztályú személy var _name as String var _age mint int cue init ( név mint String , kor mint int ) _name , _age = név , életkor def toString mint String felülírása return ' A nevem [_name] és [_age] éves vagyok'
Programozási nyelvek | |
---|---|
|
.HÁLÓ | |
---|---|
Megvalósítások | |
Építészet | |
Infrastruktúra |
|
Microsoft nyelvek | |
Más nyelvek | |
Windows alapok | |
Alkatrészek | |
Összehasonlítások |
|
Jövő technológiái | |
Információs források |