Cobra (programming language)
- 2 min read
- 2 chapters
Related on Lably
Through Object-oriented programming, Python (programming language) and Open-source software
Cobra is an open-source project; it was released under the MIT License on February 29, 2008.
Features
- Object-oriented
- Quality control
- Contracts, assertions
- Unit tests, docstrings
- Compile-time nil-tracking
- Expressiveness
- Static and dynamic binding
- List, dictionary, and set literals
inandimpliesoperatorforexpressions- Slicing
- Interpolated strings
- Compile-time type inference
- Lambdas and closures
- General productivity
- Exception handling
- Postmortem exception report
- Garbage collection
- Scripting conveniences
- Clean syntax
- Dynamic binding
- One-step run
- Shebang line (
#!)
- Miscellaneous
- Documentation tool (
cobra -doc) - Syntax highlighting tool (
cobra -highlight)
- Documentation tool (
Sign in to keep reading
One more chapter is free with a Lably account.
Examples
The following examples can be run from a file using cobra <filename>.
Hello World
<span id="mwfQ"></span><span class="k" id="mwfg">class</span> <span class="nc" id="mwfw">Hello</span> <span class="k" id="mwgA">def</span> <span class="nf" id="mwgQ">main</span> <span class="nb" id="mwgg">print</span> <span class="s1" id="mwgw">'HELLO WORLD'</span>
A simple class
<span id="mwhw"></span><span class="linenos" data-line="1" id="mwiA"></span><span class="k" id="mwiQ">class</span> <span class="nc" id="mwig">Person</span> <span class="linenos" data-line="2" id="mwiw"></span> <span class="linenos" data-line="3" id="mwjA"></span> <span class="n" id="mwjQ">var</span> <span class="n" id="mwjg">_name</span> <span class="k" id="mwjw">as</span> <span class="n" id="mwkA">String</span> <span class="linenos" data-line="4" id="mwkQ"></span> <span class="n" id="mwkg">var</span> <span class="n" id="mwkw">_age</span> <span class="k" id="mwlA">as</span> <span class="nb" id="mwlQ">int</span> <span class="linenos" data-line="5" id="mwlg"></span> <span class="linenos" data-line="6" id="mwlw"></span> <span class="n" id="mwmA">cue</span> <span class="n" id="mwmQ">init</span><span class="p" id="mwmg">(</span><span class="n" id="mwmw">name</span> <span class="k" id="mwnA">as</span> <span class="n" id="mwnQ">String</span><span class="p" id="mwng">,</span> <span class="n" id="mwnw">age</span> <span class="k" id="mwoA">as</span> <span class="nb" id="mwoQ">int</span><span class="p" id="mwog">)</span> <span class="linenos" data-line="7" id="mwow"></span> <span class="n" id="mwpA">_name</span><span class="p" id="mwpQ">,</span> <span class="n" id="mwpg">_age</span> <span class="o" id="mwpw">=</span> <span class="n" id="mwqA">name</span><span class="p" id="mwqQ">,</span> <span class="n" id="mwqg">age</span> <span class="linenos" data-line="8" id="mwqw"></span> <span class="linenos" data-line="9" id="mwrA"></span> <span class="k" id="mwrQ">def</span> <span class="nf" id="mwrg">toString</span> <span class="k" id="mwrw">as</span> <span class="n" id="mwsA">String</span> <span class="ow" id="mwsQ">is</span> <span class="n" id="mwsg">override</span> <span class="linenos" data-line="10" id="mwsw"></span> <span class="k" id="mwtA">return</span> <span class="s1" id="mwtQ">'My name is [_name] and I am [_age] years old.'</span>

