在过去的10天里,我一直在阅读"Scala编程"并编写一些Scala代码.
正如您在我的GitHub Scala游乐场中所看到的,我开始非常喜欢这种语言 - 它与OCaml一样快(感谢JVM的HotSpot技术),通过其强大的静态类型系统保护我免受错误(以及错误!) ,最重要的是:在企业方面,它并不存在于一个偏远的"孤岛"(如Haskell和OCaml)......因为它拥有巨大的JVM生态系统.
到目前为止我唯一的问题:
即使我已经想出如何使用sbt-quickfix在VIM下开发我的Scala代码,或者在使用Ensime的Emacs下进行开发(因此具有自动完成和错误导航),我到目前为止还没有找到一种方法来调试我的代码,和Python一样容易:
bash$ python -m pdb ./someCode.py
Run Code Online (Sandbox Code Playgroud)
Google指出的所有条目基本上都在说:"使用我真正喜欢的IDE ......"
然而,有一些理由 - 没有必要列举它们,你要么知道它们要么你不知道 - 像我这样的人更喜欢(a)可编程编辑器和(b)独立的调试器,可以在编辑器之外使用.
如果你是少数志同道合的人之一,不喜欢IDE并且碰巧使用Scala,我真的很想知道你如何调试 - 实际上我有兴趣听听你的整个工作流程.
我的到目前为止是:
sbt-quickfix到我的SBT的项目/文件夹(只需看看我在这个GitHub回购中的代码)sbt在一个终端,并运行~compile,所以当我改变我的消息来源的东西,它会自动建立sbt终端中按ENTER键,键入runEnsime甚至更好,也允许自动完成:
sbt gen-ensimeM-x ensimeensime-typecheck-all(映射到我的dotfiles中的F7),当一切正常时......ensime-sbt-do-run这是希望我并不孤单 - 那里的人也将帮助我进行独立调试......在我完全接受Scala之前的最后一个挑战:-)