Tutorial by Examples: st

Implementations in classes, including abstract declarations, take precedence over all interface defaults. Abstract class method takes precedence over Interface Default Method. public interface Swim { default void backStroke() { System.out.println("Swim.backStroke"); ...
The expansion of a macro often needs to use symbols that weren't passed as arguments by the user (as names for local variables, for example). One must make sure that such symbols cannot conflict with a symbol that the user is using in the surrounding code. This is usually achieved by using GENSYM, ...
To extend on the route binding say you had a url like https://stackoverflow.com/questions/1558902?sort=desc and routing like {controller=Home}/{action=Index}/{id?} public ActionResult Index(int? id, string sort){ //sort would bind to the value in the query string, i.e. "desc" } ...
Any symbol in Common Lisp has a slot for a variable to be bound and a separate slot for a function to be bound. Note that the naming in this example is only for illustration. Global variables should not be named foo, but *foo*. The latter notation is a convention to make it clear that the variable ...
Introduction In this minimalist example, using pytest we're going to test that indeed our Hello World app does return "Hello, World!" with an HTTP OK status code of 200, when hit with a GET request on the URL / First let's install pytest into our virtualenv pip install pytest And jus...
fn main() { let english = "Hello, World!"; println!("{}", &english[0..5]); // Prints "Hello" println!("{}", &english[7..]); // Prints "World!" } Note that we need to use the & operator here. It takes a reference and ...
If you are running Docker on OS X or Windows, docker-compose should be included in your Docker for Windows or Docker Toolbox installation. On Linux you can get the latest binaries straight from the GitHub release page: https://github.com/docker/compose/releases You can install the specific releas...
let list1 = [ 1; 2 ] let list2 = [ 1 .. 100 ] // Accessing an element printfn "%A" list1.[0] // Pattern matching let rec patternMatch aList = match aList with | [] -> printfn "This is an empty list" | head::tail -> printfn "This list consists o...
__construct() is the most common magic method in PHP, because it is used to set up a class when it is initialized. The opposite of the __construct() method is the __destruct() method. This method is called when there are no more references to an object that you created or when you force its deletion...
When contributors add to a project from different machines or operating systems, it may happen that they use different email addresses or names for this, which will fragment contributor lists and statistics. Running git shortlog -sn to get a list of contributors and the number of commits by them co...
Whenever an object is treated as a string, the __toString() method is called. This method should return a string representation of the class. class User { public $first_name; public $last_name; public $age; public function __toString() { return "{$this->first_...
Regular instances require: All instance types must be of the form (T a1 ... an) where a1 ... an are *distinct type variables*, and each type variable appears at most once in the instance head. That means that, for example, while you can create an instance for [a] you can't create an instance f...
Normally, string literals in Haskell have a type of String (which is a type alias for [Char]). While this isn't a problem for smaller, educational programs, real-world applications often require more efficient storage such as Text or ByteString. OverloadedStrings simply changes the type of literals...
This is a type system extension that allows types that are existentially quantified, or, in other words, have type variables that only get instantiated at runtime†. A value of existential type is similar to an abstract-base-class reference in OO languages: you don't know the exact type in contains,...
On OS X and MacOS, Elixir can be installed via the common package managers: Homebrew $ brew update $ brew install elixir Macports $ sudo port install elixir
In C++, sequences of characters are represented by specializing the std::basic_string class with a native character type. The two major collections defined by the standard library are std::string and std::wstring: std::string is built with elements of type char std::wstring is built with e...
Keyword lists are lists where each item in the list is a tuple of an atom followed by a value. keyword_list = [{:a, 123}, {:b, 456}, {:c, 789}] A shorthand notation for writing keyword lists is as follows: keyword_list = [a: 123, b: 456, c: 789] Keyword lists are useful for creating ordered ...
Strings in Elixir are "binaries". However, in Erlang code, strings are traditionally "char lists", so when calling Erlang functions, you may have to use char lists instead of regular Elixir strings. While regular strings are written using double quotes ", char lists are wr...
map is a function in functional programming which given a list and a function, returns a new list with the function applied to each item in that list. In Elixir, the map/2 function is in the Enum module. iex> Enum.map([1, 2, 3, 4], fn(x) -> x + 1 end) [2, 3, 4, 5] Using the alternative c...
As seen in "Lambda Functions", functions can take other functions as a parameter. The "function type" which you'll need to declare functions which take other functions is as follows: # Takes no parameters and returns anything () -> Any? # Takes a string and an integer a...

Page 44 of 369