Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
LangMatches.cs
1using System.Threading.Tasks;
2using Waher.Script;
6
8{
13 {
23 : base(Value, Type, Start, Length, Expression)
24 {
25 }
26
30 public override string FunctionName => nameof(LangMatches);
31
35 public override string[] DefaultArgumentNames => new string[] { "Language", "Pattern" };
36
45 {
46 if (string.IsNullOrEmpty(Argument1))
47 return BooleanValue.False;
48
49 if (Argument2 == "*")
50 return BooleanValue.True;
51
52 if (Argument2.IndexOf('-') >= 0)
53 return string.Compare(Argument1, Argument2, true) == 0 ? BooleanValue.True : BooleanValue.False;
54
55 int i = Argument1.IndexOf('-');
56 if (i >= 0)
57 Argument1 = Argument1.Substring(0, i);
58
59 return string.Compare(Argument1, Argument2, true) == 0 ? BooleanValue.True : BooleanValue.False;
60 }
61
69 public override Task<IElement> EvaluateScalarAsync(string Argument1, string Argument2, Variables Variables)
70 {
71 return Task.FromResult(this.EvaluateScalar(Argument1, Argument2, Variables));
72 }
73 }
74}
LangMatches(Language,Pattern)
Definition: LangMatches.cs:13
override Task< IElement > EvaluateScalarAsync(string Argument1, string Argument2, Variables Variables)
Evaluates the function on two scalar arguments.
Definition: LangMatches.cs:69
override string FunctionName
Name of the function
Definition: LangMatches.cs:30
override string[] DefaultArgumentNames
Default Argument names
Definition: LangMatches.cs:35
LangMatches(ScriptNode Value, ScriptNode Type, int Start, int Length, Expression Expression)
LangMatches(Language,Pattern)
Definition: LangMatches.cs:22
override IElement EvaluateScalar(string Argument1, string Argument2, Variables Variables)
Evaluates the function on two scalar arguments.
Definition: LangMatches.cs:44
Class managing a script expression.
Definition: Expression.cs:39
Base class for funcions of two scalar variables.
ScriptNode Argument2
Function argument 2.
ScriptNode Argument1
Function argument 1.
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
int Start
Start position in script expression.
Definition: ScriptNode.cs:92
Boolean-valued number.
Definition: BooleanValue.cs:12
static readonly BooleanValue False
Constant false value.
static readonly BooleanValue True
Constant true value.
Collection of variables.
Definition: Variables.cs:25
Basic interface for all types of elements.
Definition: IElement.cs:20