This document lists the functions available in the embedded FScript prelude (stdlib).
The stdlib is loaded automatically by FScript.Language before user scripts.
ListOptionMapIntFloatBoolString
- Functions are curried.
- The stdlib is part of the language runtime and is always available.
- Top-level script bindings cannot collide with reserved stdlib names.
List.empty : 'a listList.map : ('a -> 'b) -> 'a list -> 'b listList.iter : ('a -> unit) -> 'a list -> unitList.choose : ('a -> 'b option) -> 'a list -> 'b listList.collect : ('a -> 'b list) -> 'a list -> 'b listList.exists : ('a -> bool) -> 'a list -> boolList.contains : 'a -> 'a list -> boolList.rev : 'a list -> 'a listList.distinct : 'a list -> 'a listList.fold : ('state -> 'a -> 'state) -> 'state -> 'a list -> 'stateList.filter : ('a -> bool) -> 'a list -> 'a listList.length : 'a list -> intList.tryFind : ('a -> bool) -> 'a list -> 'a optionList.tryGet : ('a -> bool) -> 'a list -> int optionList.tryHead : 'a list -> 'a optionList.tail : 'a list -> 'a listList.append : 'a list -> 'a list -> 'a list
Option.defaultValue : 'a -> 'a option -> 'aOption.defaultWith : (unit -> 'a) -> 'a option -> 'aOption.isNone : 'a option -> boolOption.isSome : 'a option -> boolOption.map : ('a -> 'b) -> 'a option -> 'b option
Map.empty : 'v map
Alias of{}.Map.tryGet : 'k -> map<'k, 'v> -> 'v optionMap.containsKey : 'k -> map<'k, 'v> -> boolMap.add : 'k -> 'v -> map<'k, 'v> -> map<'k, 'v>Map.ofList : ('k * 'v) list -> map<'k, 'v>Map.fold : ('state -> 'k -> 'v -> 'state) -> 'state -> map<'k, 'v> -> 'stateMap.count : map<'k, 'v> -> intMap.filter : ('k -> 'v -> bool) -> map<'k, 'v> -> map<'k, 'v>Map.choose : ('k -> 'v -> 'u option) -> map<'k, 'v> -> map<'k, 'u>Map.map : ('v -> 'u) -> map<'k, 'v> -> map<'k, 'u>Map.iter : ('k -> 'v -> unit) -> map<'k, 'v> -> unitMap.remove : 'k -> map<'k, 'v> -> map<'k, 'v>
Map keys in FScript are string-only.
Int.tryParse : string -> int optionInt.toString : int -> string
Float.tryParse : string -> float optionFloat.toString : float -> string
Bool.tryParse : string -> bool optionBool.toString : bool -> string
String.replace : string -> string -> string -> string- argument order:
oldValue -> newValue -> source
- argument order:
String.indexOf : string -> string -> int option- argument order:
value -> source
- argument order:
String.toLower : string -> stringString.toUpper : string -> stringString.substring : int -> int -> string -> string option- argument order:
start -> length -> source
- argument order:
String.concat : string -> string list -> stringString.split : string -> string -> string list- argument order:
separator -> source
- argument order:
let xs = List.map (fun x -> x + 1) [1;2;3]
let found = List.tryFind (fun x -> x > 2) xs
let maybePort = Some 8080
let port = maybePort |> Option.defaultValue 80
let m = { ["a"] = 1; ["b"] = 2 }
let hasA = Map.containsKey "a" m
let one = m["a"] |> Option.defaultValue 0