Tutorial by Examples: n

class Plane { enum Emergency: ErrorType { case NoFuel case EngineFailure(reason: String) case DamagedWing } var fuelInKilograms: Int //... init and other methods not shown func fly() throws { // ... if fuelInKilograms ...
const int a = 0; /* This variable is "unmodifiable", the compiler should throw an error when this variable is changed */ int b = 0; /* This variable is modifiable */ b += 10; /* Changes the value of 'b' */ a += 10; /* Throws a compiler error */ The const qualif...
If while working you realize you're on wrong branch and you haven't created any commits yet, you can easily move your work to correct branch using stashing: git stash git checkout correct-branch git stash pop Remember git stash pop will apply the last stash and delete it from the stash list. T...
process.argv is an array containing the command line arguments. The first element will be node, the second element will be the name of the JavaScript file. The next elements will be any additional command line arguments. Code Example: Output sum of all command line arguments index.js var sum = 0...
Pointer assignments do not copy strings You can use the = operator to copy integers, but you cannot use the = operator to copy strings in C. Strings in C are represented as arrays of characters with a terminating null-character, so using the = operator will only save the address (pointer) of a str...
A singleton is a pattern that restricts the instantiation of a class to one instance/object. Using a decorator, we can define a class as a singleton by forcing the class to either return an existing instance of the class or create a new instance (if it doesn't exist). def singleton(cls): i...
Using vanilla mathematics: var from:Point = new Point(100, 50); var to:Point = new Point(80, 95); var angle:Number = Math.atan2(to.y - from.y, to.x - from.x); Using a new vector representing the difference between the first two: var difference:Point = to.subtract(from); var angle:Number ...
Using vanilla mathematics: var from:Point = new Point(300, 10); var to:Point = new Point(75, 40); var a:Number = to.x - from.x; var b:Number = to.y - from.y; var distance:Number = Math.sqrt(a * a + b * b); Using inbuilt functionality of Point: var distance:Number = to.subtract(from).len...
var degrees:Number = radians * 180 / Math.PI;
var radians:Number = degrees / 180 * Math.PI;
A whole circle is 360 degrees or Math.PI * 2 radians. Half of those values follows to be 180 degrees or Math.PI radians. A quarter is then 90 degrees or Math.PI / 2 radians. To get a segment as a percentage of a whole circle in radians: function getSegment(percent:Number):Number { retur...
Assuming you have the angle you'd like to move in and an object with x and y values you want to move: var position:Point = new Point(10, 10); var angle:Number = 1.25; You can move along the x axis with Math.cos: position.x += Math.cos(angle); And the y axis with Math.sin: position.y += Mat...
You can test whether a point is inside a rectangle using Rectangle.containsPoint(): var point:Point = new Point(5, 5); var rectangle:Rectangle = new Rectangle(0, 0, 10, 10); var contains:Boolean = rectangle.containsPoint(point); // true
Prerequesites Grunt requires Node.js and npm to be installed. If you don’t have Node.js and/or npm installed on your machine, go to https://nodejs.org and download the installer or package for your operating system. First-time install If you're installing Grunt for the first time, you'll first ha...
A string can reversed using the built-in reversed() function, which takes a string and returns an iterator in reverse order. >>> reversed('hello') <reversed object at 0x0000000000000000> >>> [char for char in reversed('hello')] ['o', 'l', 'l', 'e', 'h'] reversed() can ...
In addition to predicates functioning as specs, you can register a spec globally using clojure.spec/def. def requires that a spec being registered is named by a namespace-qualified keyword: (clojure.spec/def ::odd-nums odd?) ;;=> :user/odd-nums (clojure.spec/valid? ::odd-nums 1) ;;=> tru...
clojure.spec/and & clojure.spec/or can be used to create more complex specs, using multiple specs or predicates: (clojure.spec/def ::pos-odd (clojure.spec/and odd? pos?)) (clojure.spec/valid? ::pos-odd 1) ;;=> true (clojure.spec/valid? ::pos-odd -3) ;;=> false or works similarl...
You can spec collections in a number of ways. coll-of allows you to spec collections and provide some additional constraints. Here's a simple example: (clojure.spec/valid? (clojure.spec/coll-of int?) [1 2 3]) ;; => true (clojure.spec/valid? (clojure.spec/coll-of int?) '(1 2 3)) ;; => tru...
spec can describe and be used with arbitrary sequences. It supports this via a number of regex spec operations. (clojure.spec/valid? (clojure.spec/cat :text string? :int int?) ["test" 1]) ;;=> true cat requires labels for each spec used to describe the sequence. cat describes a seq...
Sometimes you may only need to simulate an event with two outcomes, maybe with different probabilities, but you may find yourself in a situation that calls for many possible outcomes with different probabilities. Let's imagine you want to simulate an event that has six equally probable outcomes. T...

Page 340 of 1088