2.10 中 Scala REPL breakIf 的替代方案

2024-01-04

我正在读书here https://stackoverflow.com/questions/2160355/drop-into-interpreter-during-arbitrary-scala-code-location关于使用breakIfREPL代码中的方法进行交互式调试,但后来我发现这个帖子 https://issues.scala-lang.org/browse/SI-6435这么说break and breakIf被移除自ILoop在 Scala 2.10 中。不幸的是,该帖子没有解释why该代码已被删除。

我假设这些函数已被删除,因为有更好的方法来执行此操作。如果是这样的话,有人可以启发我吗?


也许这个想法是你应该与ILoop直接地?据我所知,它不应该比以下更复杂:

// insert the code below wherever you want a REPL
val repl = new ILoop
repl.settings = new Settings
repl.in = SimpleReader()
repl.createInterpreter()

// bind any local variables that you want to have access to
repl.intp.bind("i", "Int", i)
repl.intp.bind("e", "Exception", e)

// start the interpreter and then close it after you :quit
repl.loop()
repl.closeInterpreter()

与旧款相比breakIfAPI,这种方法消除了额外的间接级别if条件(被包装成=> Boolean)和DebugParam/NamedParam(这是临时包装纸,仅用于填充bind论据)。

这种方法还允许您指定您的Settings如所须。例如,一些 REPL 错误可以解决-Yrepl-sync but break没有给你指定的方式 https://groups.google.com/d/msg/simple-build-tool/APF5m23jWcQ/_NpUa7YAKIcJ.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2.10 中 Scala REPL breakIf 的替代方案 的相关文章

随机推荐

  • moz变换比例减小div大小问题

    我在 mozilla moz transform 缩放属性方面遇到问题 我正在寻找 Zoom 属性的替代品 它在除 Firefox 之外的所有平台上都能正常工作 当我想缩小 div 时 它的 内容 确实缩小了 但容器的大小保持不变 在其他内
  • 在 JavaScript 正则表达式匹配中移动索引

    我有这个正则表达式来从文本中提取双词 A Za z s A Za z g 以及这个示例文本 Mary had a little lamb 我的输出是这样的 0 Mary had 1 a little 而我的预期输出是这样的 0 Mary h
  • 设置远程共享继承其父目录权限的 C# 代码

    我有两台计算机 分别称为客户端和服务器 位于 Windows 域中 服务器有一个可以从客户端计算机访问的共享目录 我想在客户端上运行一个 C 应用程序 该应用程序设置此共享的权限以继承服务器上共享的父目录的权限 我该怎么做呢 我已经尝试过以
  • 在 Google Cloud Storage 存储桶上设置缓存控制

    我有一个存储桶 其中包含经常更新的公共图像 并且希望禁用默认缓存持续时间 3600 例如 Cache Control private max age 0 no transform 使用 PHP 上传文件时可以设置缓存控制吗 有没有办法为存储
  • git 如何检测文件已被修改?

    git 如何如此快地检测到文件修改 它是否对存储库中的每个文件进行哈希处理并比较 SHA1 这会花费很多时间 不是吗 或者说比较atime ctime or mtime Git 努力仅从 lstat 值中确信工作树与索引匹配 因为回退到文件
  • 如何从 TableList POI 中移除/删除表格

    我正在使用模板 docx 文件来填充每个表上的数据 但在某些情况下我不想要同一个表 是否有使用可以删除 删除的 XWPFTable 你可以试试 int position document getPosOfTable table docume
  • 如何让 .NET 取消未使用的 RAM?

    以下是我的程序在极其密集地使用内存后的统计数据 在峰值时消耗 6 GB 但随后将所有内容保存到磁盘并在范围内留下很少的内容 观察到几乎所有内容都超出了范围并已被垃圾收集 堆大小很小 然而 NET 保留了 181 MB坚定的 我不介意保留字节
  • 如何将 warnings() 输出转换为字符串

    当我在控制台输入 warnings 时 我回来了 Warning message In fread my directory C function strtod returned ERANGE for one or more fields
  • 在 google colab 中找不到 kaggle.json 文件

    我正在尝试将 kaggle imagenet 对象本地化挑战数据下载到 google colab 中 以便我可以用它来训练我的模型 Kaggle 使用 API 来轻松快速地访问其数据集 https github com Kaggle kag
  • 当我添加对 Cargo.toml 文件的依赖项时,阻止等待包缓存上的文件锁定

    我向 Rust 项目添加了依赖项 然后运行了 Cargo Run 这给了我这个错误 阻止等待包缓存上的文件锁定 我尝试了在网上找到的解决方案 即删除 cargo package cache 文件 但这对我不起作用 当我输入类似 cargo
  • 计划任务调用的批处理文件在计划时抛出错误,双击时运行正常

    我有一个映射网络驱动器的批处理文件 大约一周前 密码过期了 因此调用批处理文件的程序开始抛出错误 我已经更新了批处理文件中的密码 当我双击批处理文件时 驱动器映射正常 但是 当计划任务开始时 我收到以下错误 Logon failure un
  • 我们可以使用 match 来检查类的类型吗

    我是 scala 新手 我正在学习match现在关键字 我想知道我们是否可以使用关键字match检查类的类型 我的代码是 object Main def main args Array String val x AA checkType x
  • Java EE/JPA 向数据库添加新表/实体的方法

    我有一个mysql数据库 我想添加向数据库添加新表的功能 我可能可以轻松找到 JPQL 的示例 但是如何自动为这个新表生成实体 以便我可以在 JPA 代码的其余部分中引用它 以便从表中更新和删除我通常引用该实体不是实际的表本身 我现在拥有的
  • 如何在 Windows 上使用 PyInstaller 创建 Linux 和 MacOS 可执行文件?

    我使用 Pyinstaller 从 python 代码制作了一个独立的 Windows 便携式应用程序 并且它工作正常 我知道要为某个操作系统创建可执行文件 必须在该特定操作系统上完成 有没有一种方法可以直接从 Windows 创建适用于其
  • 阻止 TFS 添加临时文件

    我正在开发一个在 TFS 中绑定的项目 该项目为我提供了一个文件夹 Log 当我执行我的项目并进行一些测试时 它会生成文本文件并存储在 Log 文件夹中 之后 当我尝试签入文件时 这些文件将作为 TFS 中的新文件签入 我希望 TFS 排除
  • python 将 10 位日期时间戳转换为 13 位 GMT 时间戳 [重复]

    这个问题在这里已经有答案了 我从像这样的服务器收到时间戳 1512543958 当我在标头中发回请求时 我看到像这样的 13 位 GMT 时间戳 1512544485819 通过使用下面的代码将时间更改为本地时间 我得到2017 12 06
  • 无状态 Web 应用程序,都市传奇?

    我试图理解token based authentication这些天 它声称是stateless authentication方法 我遇到了这个概念stateless web application 以下是我读到的一些主题 使用 Sprin
  • Ionic4 未知浏览器查询

    我已经练习了很多 Ionic 所以这些问题对我来说并不新鲜 但我无法解决这个问题 我目前正在尝试将我的 Ionic3 项目迁移到 Ionic4 为此 我创建了一个新的 Ionic4 选项卡项目 每次我尝试 Ionic 服务命令时 我都会得到
  • 如何在浏览器客户端使用nunjucks宏?

    当我从 node js 预编译并公开 JS 模板文件时 我可以使用 nunjucks 的客户端模板 我这样称呼客户端模板 nunjucks render partials some template html abc 123 并拿回一根绳子
  • 2.10 中 Scala REPL breakIf 的替代方案

    我正在读书here https stackoverflow com questions 2160355 drop into interpreter during arbitrary scala code location关于使用breakI