Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
TextUnit.cs
1using System;
2using Waher.Script;
5
7{
12 {
22 public TextUnit(ScriptNode Number, ScriptNode SingularUnit, ScriptNode PluralUnit, int Start, int Length, Expression Expression)
23 : base(new ScriptNode[] { Number, SingularUnit, PluralUnit }, argumentTypes3Scalar, Start, Length, Expression)
24 {
25 }
26
30 public override string FunctionName => nameof(TextUnit);
31
35 public override string[] DefaultArgumentNames => new string[] { "Number", "SingularUnit", "PluralUnit" };
36
44 {
45 double Nr = Expression.ToDouble(Arguments[0].AssociatedObjectValue);
46
47 if (Math.Abs(Nr) == 1)
48 return Arguments[1];
49 else
50 return Arguments[2];
51 }
52 }
53}
Selects the singular or plural form of a unit to be used in text, based on the associated number.
Definition: TextUnit.cs:12
TextUnit(ScriptNode Number, ScriptNode SingularUnit, ScriptNode PluralUnit, int Start, int Length, Expression Expression)
Selects the singular or plural form of a unit to be used in text, based on the associated number.
Definition: TextUnit.cs:22
override IElement Evaluate(IElement[] Arguments, Variables Variables)
Evaluates the function.
Definition: TextUnit.cs:43
override string FunctionName
Name of the function
Definition: TextUnit.cs:30
override string[] DefaultArgumentNames
Default Argument names
Definition: TextUnit.cs:35
Class managing a script expression.
Definition: Expression.cs:39
static double ToDouble(object Object)
Converts an object to a double value.
Definition: Expression.cs:4824
Base class for multivariate funcions.
ScriptNode[] Arguments
Function arguments.
static readonly ArgumentType[] argumentTypes3Scalar
Three scalar parameters.
Base class for all nodes in a parsed script tree.
Definition: ScriptNode.cs:69
int Length
Length of expression covered by node.
Definition: ScriptNode.cs:101
Expression Expression
Expression of which the node is a part.
Definition: ScriptNode.cs:177
int Start
Start position in script expression.
Definition: ScriptNode.cs:92
Collection of variables.
Definition: Variables.cs:25
Basic interface for all types of elements.
Definition: IElement.cs:20