整数除法-1/5应该返回什么?我完全被这种行为搞糊涂了.我认为它在数学上应该是0,但python和ruby返回-1.
为什么不同的语言在这里表现不同?请有人解释一下.谢谢.
| Language | Code | Result |
|-----------+----------------+--------|
| ruby | -1 / 5 | -1 |
| python | -1 / 5 | -1 |
| c | -1 / 5 | 0 |
| clojure | (int (/ -1 5)) | 0 |
| emacslisp | (/ -1 5) | 0 |
| bash | expr -1 / 5 | 0 |
Run Code Online (Sandbox Code Playgroud) 我试图在clojure中创建一个小的web框架.我在/ handlers目录中有一堆clojure文件,我想在我的项目的.core命名空间中要求所有这些文件.每个文件都定义自己的命名空间 例如:project.handlers.home.这背后的想法是当我添加新的处理程序时,我不想修改我的核心文件中的名称空间声明以包含它.我提出的唯一解决方案是找到目录中的所有文件并使用clojure.core/load加载它们,但它远非美观和惯用.是否有惯用的方法来做到这一点?