Tutorial by Examples

> List.repeat 3 "abc" ["abc","abc","abc"] : List String You can give List.repeat any value: > List.repeat 2 {a = 1, b = (2,True)} [{a = 1, b = (2,True)}, {a = 1, b = (2,True)}] : List {a : Int, b : (Int, Bool)}
By default, List.sort sorts in ascending order. > List.sort [3,1,5] [1,3,5] : List number List.sort needs the list elements to be comparable. That means: String, Char, number (Int and Float), List of comparable or tuple of comparable. > List.sort [(5,"ddd"),(4,"zzz"),...
List.sortWith allows you to sort lists with data of any shape - you supply it with a comparison function. compareBools : Bool -> Bool -> Order compareBools a b = case (a,b) of (False, True) -> LT (True, False) -> GT _ -> ...
Note: this is not very efficient due to the nature of List (see Remarks below). It will be better to construct the list the "right" way from the beginning than to construct it and then reverse it. > List.reverse [1,3,5,7,9] [9,7,5,3,1] : List number
By default List.sort sorts in ascending order, with the compare function. There are two ways to sort in descending order: one efficient and one inefficient. The efficient way: List.sortWith and a descending comparison function. descending a b = case compare a b of LT -> GT ...
List.sortBy allows to use a function on the elements and use its result for the comparison. > List.sortBy String.length ["longest","short","medium"] ["short","medium","longest"] : List String -- because the lengths are: [7,5,6] It ...
Conditions are a fundamental part of almost any part of code. They are used to execute some parts of the code only in some situations, but not other. Let's look at the basic syntax: a = 5; if a > 10 % this condition is not fulfilled, so nothing will happen disp('OK') end if a < 1...
In some cases we want to run an alternative code if the condition is false, for this we use the optional else part: a = 20; if a < 10 disp('a smaller than 10') else disp('a bigger than 10') end Here we see that because a is not smaller than 10 the second part of the code, after t...
/** * @param num Numerator * @param denom Denominator * @throws ArithmeticException in case `denom` is `0` */ class Division @throws[ArithmeticException](/*no annotation parameters*/) protected (num: Int, denom: Int) { private[this] val wrongValue = num / denom /** Integer n...
This simple macro annotation outputs the annotated item as-is. import scala.annotation.{compileTimeOnly, StaticAnnotation} import scala.reflect.macros.whitebox.Context @compileTimeOnly("enable macro paradise to expand macro annotations") class noop extends StaticAnnotation { def m...
C++14 Those following duration user literals are declared in the namespace std::literals::chrono_literals, where both literals and chrono_literals are inline namespaces. Access to these operators can be gained with using namespace std::literals, using namespace std::chrono_literals, and using names...
Dim Value As Variant Value = CDec(1.234) 'Set Value to the smallest possible Decimal value Value = CDec("0.0000000000000000000000000001") The Decimal data-type is only available as a sub-type of Variant, so you must declare any variable that needs to contain a Decimal as a Variant ...
A const Enum is the same as a normal Enum. Except that no Object is generated at compile time. Instead, the literal values are substituted where the const Enum is used. // Typescript: A const Enum can be defined like a normal Enum (with start value, specifig values, etc.) const enum NinjaActivity ...
Open the Visual Basic Editor ( see Opening the Visual Basic Editor ) Click Insert --> Module to add a new Module : Copy and Paste the following code in the new module : Sub hello() MsgBox "Hello World !" End Sub To obtain : Click on the green “play” arr...
sample on price increases: UPDATE ItemPrice SET Price = Price * CASE ItemId WHEN 1 THEN 1.05 WHEN 2 THEN 1.10 WHEN 3 THEN 1.15 ELSE 1.00 END
You may have noticed that many applications have double-back-click functionality to exit the app. In this example, we are overriding the default back button action using the onBackPressed() method override. This method will Toast a message for the single back-click action, and will close the app if...
Open Excel Open the Visual Basic Editor ( see Opening the Visual Basic Editor ) Add a new module by clicking Insert --> Module : Copy and Paste the following code in the new module : Public Function Hello() As String 'Note: the output of the function is simply the function's name ...
We can get facts (ansible_os_family, ansible_pkg_mgr) with Ad-Hoc command of setup module and filter. ansible_os_family: $ ansible all -m setup -a 'filter=ansible_os_family' ra.local | SUCCESS => { "ansible_facts": { "ansible_os_family": "Debi...
Paramorphisms model primitive recursion. At each iteration of the fold, the folding function receives the subtree for further processing. para :: Functor f => (f (Fix f, a) -> a) -> Fix f -> a para f = f . fmap (\x -> (x, para f x)) . unFix The Prelude's tails can be modelled as ...
Apomorphisms model primitive corecursion. At each iteration of the unfold, the unfolding function may return either a new seed or a whole subtree. apo :: Functor f => (a -> f (Either (Fix f) a)) -> a -> Fix f apo f = Fix . fmap (either id (apo f)) . f Note that apo and para are dual...

Page 509 of 1336