The use of null values is strongly discouraged, unless interacting with legacy Java code that expects null. Instead, Option should be used when the result of a function might either be something (Some) or nothing (None).
A try-catch block is more appropriate for error-handling, but if the function ...
There are several ways to format and get a string as a result.
The .NET way is by using String.Format or StringBuilder.AppendFormat:
open System
open System.Text
let hello = String.Format ("Hello {0}", "World")
// return a string with "Hello World"
let builder...
Sometimes when you make a game you need to create and destroy a lot of objects of the same type over and over again. You can simply do this by making a prefab and instantiate/destroy this whenever you need to, however, doing this is inefficient and can slow your game down.
One way to get around thi...
A topological ordering, or a topological sort, orders the vertices
in a directed acyclic graph on a line, i.e. in a list, such that all directed
edges go from left to right. Such an ordering cannot exist
if the graph contains a directed cycle because there is no way that you can keep going right ...
F|forbidden
Similar to Deny, this flag forces the server to immediately return a 403 Forbidden status code to the requesting browser or client for the request.
Example: Deny access to requests that end with exe:
RewriteRule .exe$ - [F]
G|gone
If a requested resource was available in the past,...
CLP(FD) constraints are provided by all serious Prolog implementations. They allow us to reason about integers in a pure way.
?- X #= 1 + 2.
X = 3.
?- 5 #= Y + 2.
Y = 3.
Destructurling works in many places, as well as in the param list of an fn:
(defn my-func [[_ a b]]
(+ a b))
(my-func [1 2 3]) ;= 5
(my-func (range 5)) ;= 3
Destructuring also works for the & rest construct in the param list:
(defn my-func2 [& [_ a b]]
(+ a b))
(my-func2 1 ...
Destructuring also gives you the ability to interpret a sequence as a map:
(def my-vec [:a 1 :b 2])
(def my-lst '("smthg else" :c 3 :d 4))
(let [[& {:keys [a b]}] my-vec
[s & {:keys [c d]} my-lst]
(+ a b c d)) ;= 10
It is useful for defining functions with named p...
Predicates that reason about instantiations are called meta-logical. Examples are:
var/1
ground/1
integer/1
These predicates are outside the realm of pure monotonic logic programs, because they break properties like commutativity of conjunction.
Other predicates that are meta-logical includ...
CLP(FD) constraints are completely pure relations. They can be used in all directions for declarative integer arithmetic:
?- X #= 1+2.
X = 3.
?- 3 #= Y+2.
Y = 1.
In oracle, the difference (in days and/or fractions thereof) between two DATEs can be found using subtraction:
SELECT DATE '2016-03-23' - DATE '2015-12-25' AS difference FROM DUAL;
Outputs the number of days between the two dates:
DIFFERENCE
----------
89
And:
SELECT TO_DATE( '201...
Our example array:
arr=(a b c d e f)
Using a for..in loop:
for i in "${arr[@]}"; do
echo "$i"
done
2.04
Using C-style for loop:
for ((i=0;i<${#arr[@]};i++)); do
echo "${arr[$i]}"
done
Using while loop:
i=0
while [ $i -lt ${#arr[@]} ]; do...
The MEDIAN function since Oracle 10g is an easy to use aggregation function:
SELECT MEDIAN(SAL)
FROM EMP
It returns the median of the values
Works on DATETIME values too.
The result of MEDIAN is computed by first ordering the rows. Using N as the number of rows in the group, Oracle calcula...
Following code will release the lock. There will be no problem. Behind the scenes lock statement works as try finally
lock(locker)
{
throw new Exception();
}
More can be seen in the C# 5.0 Specification:
A lock statement of the form
lock (x) ...
where x is an expression of a referenc...
Partial application means calling a function with less arguments than it has and saving the result as another function (that waits for the rest of the arguments).
multiplyBy: Int -> Int -> Int
multiplyBy x y =
x * y
multiplyByTwo : Int -> Int -- one Int has disappeared! we ...
The function toupper will convert a string to upper case (capital letters). For example:
BEGIN {
greeting = "hello"
loud_greeting = toupper(greeting)
print loud_greeting
}
This code will output "HELLO" when run.