infix-operator

    0热度

    1回答

    我试图在这里将代码http://www.geeksforgeeks.org/expression-evaluation/转换为python。但是,我遇到了一些麻烦,无法弄清楚。 class evaluateString: def evalString(self,expression): valueStack = [] opStack = [] i=0 w

    2热度

    1回答

    我喜欢这种语法在Objective-C: NSString const name = [self getName] ?: @"backup"; ,我想用在斯威夫特一样,但是我得到这个当我尝试: 有什么办法在Swift中做到这一点?如果不是,我可以编写一个自定义infox操作符来执行它吗?

    0热度

    1回答

    有没有办法告诉Agda一个特定的字符标志着新令牌的开始?例如,我有以下(花式unicode的括号内): data Term where _(_) : Term -> Term -> Term ,我可以为 f ( e⃗ ) 使用,但我真正喜欢的是用它作为 f(e⃗) 如果我这样做,Agda认为它是一个单一的标识符,并给出了一个不在范围内的错误。有没有解决的办法?

    2热度

    2回答

    我在Lisp中与defpackage擦肩而过,并开始了一个可耻的开始,即一个我无法理解的错误。 下面的代码是试图创建一个子语言来执行向量中的中缀操作。我想将它用于涉及一些线性代数的项目。 我的代码的'肉'是parse-infix。该函数找到具有最高优先级的运算符,调用apply-op以用operator (operand, operand)替换所述运算符及其操作数,从而缩小列表并迭代,直到列表仅包

    4热度

    1回答

    为什么不允许在Haskell中作为中缀运算符? GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help Prelude> :{ infixr 6 〉 (〉) :: Int -> (Int -> (Int)) a 〉 b = a + 2*b :} print (1 〉 2) 根据这一Haskell Reportany

    3热度

    2回答

    我想要做的是使用中缀fmap(我定义为< ^>)为多种类型工作,如Option和Either(自定义类型)。 考虑: type Either<'a, 'b> = Left of 'a | Right of 'b 在代码中,我希望能够做到: let fO (a : int option) = None let fE (a : Either<string,int>) = Left "du

    0热度

    1回答

    我在学习Haskell,正在为期中学习。有一个测试问题我现在正在关注类型推断的问题。一些问题包含正斜杠,我不知道它们代表什么。目标是通过查看其变量来确定函数的类型。在这里的一些好的问题即时通讯应该找到的类型: f1 x = (/x) f3 x = (x/) f5 = (1/) f6 = (/2) 我已经没有运气一派,什么是正斜杠是什么意思?

    0热度

    1回答

    我做一个功课计算器,除了我的扫描仪,一切正常工作,因为当它需要一个负整数它不会看到它是一个负数,它只是看到减法符号作为操作符,我希望它看起来像是一部分操作数: String exp = "8+4*-12-4"; String[] temp = new String[exp.length()]; temp =exp.split("(?<=[-+*/])|(?=[-+*/])");

    0热度

    1回答

    我试图定义一个中缀函数%〜%,它需要在左边输入一个字符,并在右边输入一个表达式并返回一个连接的公式对象。所以我想要"y" %~% x + z返回y ~ x + z。 但是,我的函数(下)不能使用+作为符号公式运算符,而是默认为算术运算符。显然,中缀函数实现了这个功能,但它是一个原始函数,所以我(我想我)不能去滑动代码,我不知道如何将它合并到函数定义中以获得我想要的结果。 `%~%` <- func

    0热度

    1回答

    我对this question有跟进问题。假设我想为我的类expo提供一个自己的+函数。在我的正常R对话以下作品完美 '+.expo' <- function(a, b) a^b r <- 2; class(r) <- "expo" s <- 3; class(s) <- "expo" r + s # gives 8 但运行devtools::document()给我的Skipping