这是关于Julia设计的一个问题。在Julia中,
我想知道为什么同样的推理没有应用于
或者至少应该有一个版本的
因此,有两个问题:
1/2
返回0.5
,通常整数除法返回一个浮点数,所以4/2
是2.0
。这似乎很合理。我想知道为什么同样的推理没有应用于
sqrt
。也就是说,对我来说,一致性要求sqrt
始终返回一个Complex
,特别是sqrt(-1)
应该返回im
(或者-im
,但这是另一个讨论)。然而,sqrt(-1)
会返回DomainError
。或者至少应该有一个版本的
sqrt
返回复数根(就像除法一样,你有div
和/
)。因此,有两个问题:
- 这种设计决策(不一致的处理
/
与sqrt
)背后的原因是什么? - 是否有一个版本的
sqrt
可以返回复数平方根?
sqrt
总是返回Complex
,它也将是类型稳定的。 - a06e