似乎为了在 Java 中找到除法的商和余数,必须这样做:
int a = ...
int b = ...
int quotient = a / b;
int remainder = a % b;
Run Code Online (Sandbox Code Playgroud)
有没有办法写这个,以便在一个步骤(一个除法运算)中找到商和余数?或者 Java 是否已经自动优化了这些代码?
<$>我一直在学习 Haskell 中的and运算符有多么强大<*>,以及如何在通常需要的地方定义一些没有参数的函数。我按照以下步骤更改我的doThing函数并逐渐删除它的三个参数:
1) doThing x y z = (x + y) * z
2) doThing x y = ((x + y) *)
3) doThing x = (*) <$> (x +)
4) doThing = ((*) <$>) <$> (+)
Run Code Online (Sandbox Code Playgroud)
所有这些函数都采用三个数字x、y、 、z和 计算(x + y) * z。我知道这在实际意义上既不漂亮,也不是一个好的编程实践,但我仍然想知道是否有可能任何具有 N 个变量的数学表达式都可以被描述为一个函数,而无需显式命名这 N 个变量。我尝试过更复杂的表达方式,但没有取得多大成功;即使是上面的第四步对我来说也很难理解。