Skip to content

Commit 5044a95

Browse files
author
linzhijun
committed
fix
1 parent a18759c commit 5044a95

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

csharp/ToolGood.Algorithm/Internals/Functions/FunctionBase.csharp.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -777,19 +777,19 @@ public override void ToString(StringBuilder stringBuilder, bool addBrackets)
777777
}
778778
}
779779

780-
internal class Function_REMOVESTART : Function_N
780+
internal class Function_REMOVESTART : Function_3
781781
{
782-
public Function_REMOVESTART(FunctionBase[] funcs) : base(funcs)
782+
public Function_REMOVESTART(FunctionBase func1, FunctionBase func2, FunctionBase func3) : base(func1, func2, func3)
783783
{
784784
}
785785

786786
public override Operand Calculate(AlgorithmEngine work)
787787
{
788-
var args1 = funcs[0].Calculate(work); if (args1.Type != OperandType.TEXT) { args1 = args1.ToText("Function '{0}' parameter {1} is error!", "RemoveStart", 1); if (args1.IsError) { return args1; } }
789-
var args2 = funcs[1].Calculate(work); if (args2.Type != OperandType.TEXT) { args2 = args2.ToText("Function '{0}' parameter {1} is error!", "RemoveStart", 2); if (args2.IsError) { return args2; } }
788+
var args1 = func1.Calculate(work); if (args1.Type != OperandType.TEXT) { args1 = args1.ToText("Function '{0}' parameter {1} is error!", "RemoveStart", 1); if (args1.IsError) { return args1; } }
789+
var args2 = func2.Calculate(work); if (args2.Type != OperandType.TEXT) { args2 = args2.ToText("Function '{0}' parameter {1} is error!", "RemoveStart", 2); if (args2.IsError) { return args2; } }
790790
StringComparison comparison = StringComparison.Ordinal;
791-
if (funcs.Length == 3) {
792-
var args3 = funcs[2].Calculate(work); if (args3.Type != OperandType.BOOLEAN) { args3 = args3.ToBoolean("Function '{0}' parameter {1} is error!", "RemoveStart", 3); if (args3.IsError) { return args3; } }
791+
if (func3 != null) {
792+
var args3 = func3.Calculate(work); if (args3.Type != OperandType.BOOLEAN) { args3 = args3.ToBoolean("Function '{0}' parameter {1} is error!", "RemoveStart", 3); if (args3.IsError) { return args3; } }
793793
if (args3.BooleanValue) {
794794
comparison = StringComparison.OrdinalIgnoreCase;
795795
}
@@ -806,19 +806,19 @@ public override void ToString(StringBuilder stringBuilder, bool addBrackets)
806806
}
807807
}
808808

809-
internal class Function_REMOVEEND : Function_N
809+
internal class Function_REMOVEEND : Function_3
810810
{
811-
public Function_REMOVEEND(FunctionBase[] funcs) : base(funcs)
811+
public Function_REMOVEEND(FunctionBase func1, FunctionBase func2, FunctionBase func3) : base(func1, func2, func3)
812812
{
813813
}
814814

815815
public override Operand Calculate(AlgorithmEngine work)
816816
{
817-
var args1 = funcs[0].Calculate(work); if (args1.Type != OperandType.TEXT) { args1 = args1.ToText("Function '{0}' parameter {1} is error!", "RemoveEnd", 1); if (args1.IsError) { return args1; } }
818-
var args2 = funcs[1].Calculate(work); if (args2.Type != OperandType.TEXT) { args2 = args2.ToText("Function '{0}' parameter {1} is error!", "RemoveEnd", 2); if (args2.IsError) { return args2; } }
817+
var args1 = func1.Calculate(work); if (args1.Type != OperandType.TEXT) { args1 = args1.ToText("Function '{0}' parameter {1} is error!", "RemoveEnd", 1); if (args1.IsError) { return args1; } }
818+
var args2 = func2.Calculate(work); if (args2.Type != OperandType.TEXT) { args2 = args2.ToText("Function '{0}' parameter {1} is error!", "RemoveEnd", 2); if (args2.IsError) { return args2; } }
819819
StringComparison comparison = StringComparison.Ordinal;
820-
if (funcs.Length == 3) {
821-
var args3 = funcs[2].Calculate(work); if (args3.Type != OperandType.BOOLEAN) { args3 = args3.ToBoolean("Function '{0}' parameter {1} is error!", "RemoveEnd", 3); if (args3.IsError) { return args3; } }
820+
if (func3 != null) {
821+
var args3 = func3.Calculate(work); if (args3.Type != OperandType.BOOLEAN) { args3 = args3.ToBoolean("Function '{0}' parameter {1} is error!", "RemoveEnd", 3); if (args3.IsError) { return args3; } }
822822
if (args3.BooleanValue) {
823823
comparison = StringComparison.OrdinalIgnoreCase;
824824
}

csharp/ToolGood.Algorithm/Internals/MathFunctionVisitor.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1835,7 +1835,7 @@ public FunctionBase VisitENDSWITH_fun(mathParser.ENDSWITH_funContext context)
18351835
var args2 = exprs[1].Accept(this);
18361836
if (exprs.Length == 2) return new Function_ENDSWITH(args1, args2, null);
18371837
var args3 = exprs[2].Accept(this);
1838-
return new Function_ENDSWITH(args1, args2, args3);
1838+
return new Function_ENDSWITH(args1, args2, args3);
18391839
}
18401840

18411841
public FunctionBase VisitISNULLOREMPTY_fun(mathParser.ISNULLOREMPTY_funContext context)
@@ -1853,21 +1853,21 @@ public FunctionBase VisitISNULLORWHITESPACE_fun(mathParser.ISNULLORWHITESPACE_fu
18531853
public FunctionBase VisitREMOVESTART_fun(mathParser.REMOVESTART_funContext context)
18541854
{
18551855
var exprs = context.expr();
1856-
FunctionBase[] args = new FunctionBase[exprs.Length];
1857-
for (int i = 0; i < exprs.Length; i++) {
1858-
args[i] = exprs[i].Accept(this);
1859-
}
1860-
return new Function_REMOVESTART(args);
1856+
var args1 = exprs[0].Accept(this);
1857+
var args2 = exprs[1].Accept(this);
1858+
if (exprs.Length == 2) return new Function_REMOVESTART(args1, args2, null);
1859+
var args3 = exprs[2].Accept(this);
1860+
return new Function_REMOVESTART(args1, args2, args3);
18611861
}
18621862

18631863
public FunctionBase VisitREMOVEEND_fun(mathParser.REMOVEEND_funContext context)
18641864
{
18651865
var exprs = context.expr();
1866-
FunctionBase[] args = new FunctionBase[exprs.Length];
1867-
for (int i = 0; i < exprs.Length; i++) {
1868-
args[i] = exprs[i].Accept(this);
1869-
}
1870-
return new Function_REMOVEEND(args);
1866+
var args1 = exprs[0].Accept(this);
1867+
var args2 = exprs[1].Accept(this);
1868+
if (exprs.Length == 2) return new Function_REMOVEEND(args1, args2, null);
1869+
var args3 = exprs[2].Accept(this);
1870+
return new Function_REMOVEEND(args1, args2, args3);
18711871
}
18721872

18731873
public FunctionBase VisitJSON_fun(mathParser.JSON_funContext context)

0 commit comments

Comments
 (0)