我正在通过函数参数与c#的strikt类型作斗争.
对于我的RPN计算器,所需的参数将由函数调用提交,该函数调用带有不同类型的逗号分隔的参数列表:
this.FxMath. RPN(this.Mt, this.L, 2, '*', this.F, '*') // This.Mt are Variables as Objects)
函数本身将获得逗号分隔的参数作为.序列号:
RPN(ergebnis: VariableUnitBuilder, ...seq: any) {
如:
RPN(ergebnis: VariableUnitBuilder, ...seq: any) {
let stack = [], i = 0;
typeof seq[i] === 'object' ? seq[i] = seq[i].nominalValue : null;
stack.push(seq[i]);
i++;
while (i <= seq.length) {
typeof seq[i] === 'object' ? seq[i] = seq[i].nominalValue : null; // Zahlenwert extraieren oder nix.
let item = seq[i]; // Number or operator
if (isNaN(item)) {
let a: number;
let b: number;
switch (item) {
case '+':
a = parseFloat(stack.pop());
b = parseFloat(stack.pop());
stack.push(a + b);
break;
...... }
现在我需要一些具有不同类型和未知长度的参数:
(this.Mt,this.L,2.5,‘*’,this.F,‘*’)//类,类,双精度,字符串,类,串