Tutorial by Examples: c

Often you need to change the way a set of data is structured and manipulate certain values. In the example below we got a collection of books with an attached discount amount. But we much rather have a list of books with a price that's already discounted. $books = [ ['title' => 'The Pragma...
Collections also provide you with an easy way to do simple statistical calculations. $books = [ ['title' => 'The Pragmatic Programmer', 'price' => 20], ['title' => 'Continuous Delivery', 'price' => 30], ['title' => 'The Clean Coder', 'price' => 10], ] $min = col...
In Java, parent and child class both can have static methods with the same name. But in such cases implementation of static method in child is hiding parent class' implementation, it's not method overriding. For example: class StaticMethodTest { // static method and inheritance public stati...
use-fixtures allows to wrap each deftest in namespace with code that runs before and after test. It can be used for fixtures or stubbing. Fixtures are just functions that take test function and run it with other necessary steps (before/after, wrap). (ns myapp.test (require [clojure.test :refer ...
Functions are defined with five components: The header, which includes the defn keyword, the name of the function. (defn welcome ....) An optional Docstring that explains and document what the function does. (defn welcome "Return a welcome message to the world" ...) Pa...
Scala can be used as a scripting language. To demonstrate, create HelloWorld.scala with the following content: println("Hello") Execute it with the command-line interpreter (the $ is the command line prompt): $ scala HelloWorld.scala Hello If you omit .scala (such as if you simply...
Simple recursion Using recursion and the ternary conditional operator, we can create an alternative implementation of the built-in factorial function: myfactorial(n) = n == 0 ? 1 : n * myfactorial(n - 1) Usage: julia> myfactorial(10) 3628800 Working with trees Recursive functions are o...
We can use the :: syntax to dispatch on the type of an argument. describe(n::Integer) = "integer $n" describe(n::AbstractFloat) = "floating point $n" Usage: julia> describe(10) "integer 10" julia> describe(1.0) "floating point 1.0" Unlike m...
A long-form syntax is available for defining multi-line functions. This can be useful when we use imperative structures such as loops. The expression in tail position is returned. For instance, the below function uses a for loop to compute the factorial of some integer n: function myfactorial(n) ...
Functions are objects in Julia. Like any other objects, they can be passed as arguments to other functions. Functions that accept functions are known as higher-order functions. For instance, we can implement an equivalent of the standard library's foreach function by taking a function f as the firs...
Arrow syntax Anonymous functions can be created using the -> syntax. This is useful for passing functions to higher-order functions, such as the map function. The below function computes the square of each number in an array A. squareall(A) = map(x -> x ^ 2, A) An example of using this fu...
In Vue.js, every component instance has its own isolated scope, which means that if a parent component has a child component - the child component has its own isolated scope and the parent component has its own isolated scope. For any medium to large size app, following best practices conventions p...
Sometimes you will have a grid of subplots, and you want to have a single legend that describes all the lines for each of the subplots as in the following image. In order to do this, you will need to create a global legend for the figure instead of creating a legend at the axes level (which wil...
Deferred function calls serve a similar purpose to things like finally blocks in languages like Java: they ensure that some function will be executed when the outer function returns, regardless of if an error occurred or which return statement was hit in cases with multiple returns. This is useful f...
The following design pattern is categorized as a creational pattern. An abstract factory is used to provide an interface for creating families of related objects, without specifying concrete classes and can be used to hide platform specific classes. interface Tool { void use(); } interf...
pacman is a simple package manager for R. pacman allows a user to compactly load all desired packages, installing any which are missing (and their dependencies), with a single command, p_load. pacman does not require the user to type quotation marks around a package name. Basic usage is as follows:...
Not always we have liberty to read from or write to a local system path. For example if R code streaming map-reduce must need to read and write to file connection. There can be other scenarios as well where one is going beyond local system and with advent of cloud and big data, this is becoming incr...
C++11 It's possible to write a generic function (for example min) which accepts various numerical types and arbitrary argument count by template meta-programming. This function declares a min for two arguments and recursively for more. template <typename T1, typename T2> auto min(const T1 &...
std::function can cause significant overhead. Because std::function has [value semantics][1], it must copy or move the given callable into itself. But since it can take callables of an arbitrary type, it will frequently have to allocate memory dynamically to do this. Some function implementations h...
A variable can be downcasted to a subtype using the type cast operators as?, and as!. The as? operator attempts to cast to a subtype. It can fail, therefore it returns an optional. let value: Any = "John" let name = value as? String print(name) // prints Optional("John") ...

Page 245 of 826