Tutorial by Examples: p

Phantom types are useful for dealing with data, that has identical representations but isn't logically of the same type. A good example is dealing with currencies. If you work with currencies you absolutely never want to e.g. add two amounts of different currencies. What would the result currency o...
The following class can be used as a single class that can handle GET, POST, PUT, PATCH, and other requests: class APIResponseObject{ int responseCode; String response; APIResponseObject(int responseCode,String response) { this.responseCode = responseCode; ...
To start using FTP with Java, you will need to create a new FTPClient and then connect and login to the server using .connect(String server, int port) and .login(String username, String password). import java.io.IOException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.n...
When we attach the !important keyword to a mixin call, the Less compiler will automatically add the !important to all properties that are present within the mixin. For example, consider the below mixin: .set-default-props() { margin: 4px; padding: 4px; border: 1px solid black; font-wei...
I'll demonstrate the basic usage of using functions vs using labels+gosub. In this example we'll implement simple functionality to add two numbers and store them in a variable. With functions: c := Add(3, 2) ; function call MsgBox, Result: %c% Add(a, b) { ; This is a function. Put it wherever...
The following code is taken from he official AutoHotkey documentation: Function implementation: #Persistent OnClipboardChange("ClipChanged") return ClipChanged(Type) { ToolTip Clipboard data type: %Type% Sleep 1000 ToolTip ; Turn off the tip. } Label implementati...
This script demonstrates how to receive complicated GUI events from different controls in the same event callback function. We'll be using two ListView controls for that. Now every time an action is detected on one of those ListView controls, we want a precise description of what happened and have ...
Some character may be reserved for HTML and cannot be used directly as it may obstruct the actual HTML codes. For example, trying to display the left and right angle brackets (<>) in the source code may cause unexpected results in the output. Similarly, white spaces as written in the source co...
If your package isn't only a library, but has a piece of code that can be used either as a showcase or a standalone application when your package is installed, put that piece of code into __main__.py file. Put the __main__.py in the package_name folder. This way you will be able to run it directly ...
Some people recommend that you should apply various tests to a file before attempting to open it either to provide better diagnostics or avoid dealing with exceptions. For example, this method attempts to check if path corresponds to a readable file: public static File getValidatedFile(String path...
It is possible that the client browser does not support Javascript or have Javascript execution disabled, perhaps due to security reasons. To be able to tell users that a script is supposed to execute in the page, the <noscript> tag can be used. The content of <noscript> is displayed whe...
Detailed instructions on getting x++ set up or installed.
The term responsive web design was first coined by Ethan Marcotte in his famous article Responsive Web Design, published in 2010 in A List Apart. This Smashing Magazine article by Kayla Knight describes it as follows: Responsive Web design is the approach that suggests that design and developme...
When applied to a single-argument constructor, prevents that constructor from being used to perform implicit conversions. class MyVector { public: explicit MyVector(uint64_t size); }; MyVector v1(100); // ok uint64_t len1 = 100; MyVector v2{len1}; // ok, len1 is uint64_t int len2 ...
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"&g...
To export the type and all its constructors, one must use the following syntax: module X (Person (..)) where So, for the following top-level definitions in a file called People.hs: data Person = Friend String | Foe deriving (Show, Eq, Ord) isFoe Foe = True isFoe _ = False This module d...
Haskell supports importing a subset of items from a module. import qualified Data.Stream (map) as D would only import map from Data.Stream, and calls to this function would require D.: D.map odd [1..] otherwise the compiler will try to use Prelude's map function.
Prelude often defines functions whose names are used elsewhere. Not hiding such imports (or using qualified imports where clashes occur) will cause compilation errors. Data.Stream defines functions named map, head and tail which normally clashes with those defined in Prelude. We can hide those impo...
When multiple modules define the same functions by name, the compiler will complain. In such cases (or to improve readability), we can use a qualified import: import qualified Data.Stream as D Now we can prevent ambiguity compiler errors when we use map, which is defined in Prelude and Data.Stre...
zip takes two lists and returns a list of corresponding pairs: zip [] _ = [] zip _ [] = [] zip (a:as) (b:bs) = (a,b) : zip as bs > zip [1,3,5] [2,4,6] > [(1,2),(3,4),(5,6)] Zipping two lists with a function: zipWith f [] _ = [] zipWith f _ [] =...

Page 348 of 691