小编Not*_* me的帖子

为什么这个 Haskell 程序会产生反斜杠?

我是 Haskell 的新手,写了这个程序来练习函数式编程。我不知道它是否是一个好程序,除了两件事。

  • 它有效(它向我展示了 Collat​​z 树中从 6 到 1 的路径)
  • 它打印了太多的反斜杠
next_step :: Integer -> Integer
collatz :: Integer -> String

next_step n = do
        if (n `mod` 2) == 0 then
                n `div` 2
        else
                (n * 3) + 1

collatz 1 = "1"
collatz n = (show n) ++ " -> " ++ (show (collatz (next_step n)))

main = putStrLn (collatz 6)
Run Code Online (Sandbox Code Playgroud)

输出:

6 -> "3 -> \"10 -> \\\"5 -> \\\\\\\"16 -> \\\\\\\\\\\\\\\"8 -> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"4 -> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"2 …
Run Code Online (Sandbox Code Playgroud)

string recursion haskell output

6
推荐指数
1
解决办法
114
查看次数

Scala 类路径是什么?

我一直在尝试使用我的项目中调用的 jar PasswordHash.jar。我正在使用sbt,所以我把罐子放进去lib/。现在它在类路径中,但我不知道这意味着什么。

我试过了:

  • import PasswordHash
  • import PasswordHash.jar
  • import com.PasswordHash
  • import com.PasswordHash.jar
  • import org.PasswordHash
  • import org.PasswordHash.jar
  • import java.PasswordHash
  • import java.PasswordHash.jar
  • import jar.PasswordHash

该 jar 是从一个没有package声明的 Java 文件构建的。

编辑:

斯卡拉文件:

~/FileShare/shared/src/main/scala/com/michael/fileshare/shared/Collatz.scala

package com.michael.fileshare.shared
import  com.michael.fileshare.shared.PasswordHash
Run Code Online (Sandbox Code Playgroud)

Java文件:

~/FileShare/shared/src/main/java/com/michael/fileshare/shared/PasswordHash.java

package com.michael.fileshare.shared
Run Code Online (Sandbox Code Playgroud)

错误信息: object PasswordHash is not a member of package com.michael.fileshare.shared

Scala 文件尝试导入 Java 文件失败,但另一个 Scala 文件成功导入此 Scala 文件。

如果有帮助的话,我会关注 Ubuntu。

java scala jar classpath

0
推荐指数
1
解决办法
2779
查看次数

标签 统计

classpath ×1

haskell ×1

jar ×1

java ×1

output ×1

recursion ×1

scala ×1

string ×1