问题标签 [highline]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Highline 破坏了先前的输出
使用 Highline v1.6.19
当我运行以下 Ruby 程序时:
在询问前三个问题时,输出如下所示:
然后它要求第四次,而不是将第四行放在第三行之后,它会覆盖第二行的先前输出:
知道为什么或该怎么做吗?
ruby - Ruby 脚本不适用于关于 highline 库的奇怪错误
我有以下 Ruby 脚本:
当我按 Enter 时它失败了:
未定义的方法
default_external' for REXML::Encoding:Module /Library/Ruby/Gems/1.8/gems/highline-1.6.19/lib/highline.rb:621:in
说'/Library/Ruby/Gems/1.8/gems/highline-1.6.19/lib/highline.rb:914:inget_response' /Library/Ruby/Gems/1.8/gems/highline-1.6.19/lib/highline.rb:259:in
ask'
验证输入时似乎失败了the_pass
,但我无法理解错误,它们有什么关系?
谢谢
ruby - Ruby highline gem:有没有办法在脚本/应用程序的持续时间内分配命令
我有使用 highline 的 gem/cli,我想知道您是否可以设置自己的命令以便它始终可用(类似于“帮助”)。
谢谢!
ruby - 在 Highline 的 ask 方法中随机化 echo char?
我正在尝试在 Highline gem 的ask
方法中随机化 echo 字符,但无法使其正常工作。我做的不对吗?
每个调用的字符都是随机的ask()
,但不是每个字符。第一次运行将回显相同的字符,即'cccc'。下一次运行将回显“mmmm”等。
ruby - 如何使用 Highline 测试 Cucumber 用户输入和输出?
我尝试了几种方法,例如存根 STDOUT、使用 highline-test 和 aruba gem,但它仍然会停止我的黄瓜测试并要求用户输入。是否有使用 Cucumber 测试此类应用程序的最佳实践?
ruby - 在用户从 Ruby 的 HighLine 菜单中选择后,我们如何设置变量?
HighLine 文档显示我们可以在用户从列表中选择一个选项后显示一个字符串,如下所示:
除了(或代替)显示文本之外,我们如何设置变量?替换say("Good choice!")
为variable = 1
不起作用,而是返回“未定义的局部变量或方法”错误。
ruby - 如何使用 Cucumber 存根和模拟交互式 ruby 应用程序?
我有一个基于Highline gem 的交互式 CLI 应用程序。我可以使用Aruba交互式地运行 Cucumber 测试。但我不能使用存根和模拟,因为 Aruba 将我的应用程序作为子进程启动。如果我尝试使用Aruba::InProcess功能,它会失去交互性。
我已经不知道了。我可以通过什么方式测试这样的应用程序?
ruby - 高线红宝石。如何在运行时提供可变数量的菜单选项
我的第一个堆栈溢出帖子。我应该简洁明了,但请在第一次出现时让我沉迷于一些背景知识。我已经用 C 和 Visual Basic 编程了 16 年,但只是兼职来支持我作为科学家的工作。大约一年前开始学习 ruby 并且非常喜欢它。我正在编写一个处理数据的程序。这适用于文件夹和文件,而不是数据库。每次遇到困难时,我总能在这里(多么棒的资源!)或在 Google 上找到解决方案。这一次不同。所以说重点:
我想在 ruby 中使用 highline gem 来显示具有可变数量菜单项的菜单。本质上,我希望用户选择一个目录。父目录中可以有任意数量的目录。我的代码如下:
在 menu.choices 调用的括号中,我通常会有 temp,但目前我有 :old1, :old5 只是为了我自己的调试目的,否则我会收到错误。
输出是:
[“deletemetest”、“old2”、“old3”、“old4”、“TestData”、“testy123”、“tsty”]
“:deletemetest,:old2,:old3,:old4,:TestData,:testy123,:tsty”
- 老1
- 老5
请选择要访问的项目:
所以符号似乎是一个字符串(由于它周围的引号)。如果我可以删除这些,我可能会成功地将 temp 转换为 menu.choice 调用的正确格式。
ruby - 将脚本粘贴到 Terminal.app 时错误地使用 STDIN
我有以下脚本片段,我经常使用它来半自动化我的一个工作流程。我打开一个 bash 终端并启动 irb,然后粘贴脚本:
现在我希望能够将其粘贴到终端中,但是用户的第一个提示被以下行覆盖repo = ask("Repository:")
:
有没有办法防止这种行为。
我知道我可以写一个脚本。但
- 我发现能够将其粘贴到终端中很方便
- 我想知道在这种情况下如何以某种方式超越 STDIN
ruby - HighLine:使用收集和 answer_or_default
这是我当前用于 ircd 配置文件生成器的代码,我试图能够使用answer_or_default
它,并弄清楚使用HighLine::Question#gather
这是answer_or_default
在内部使用 answer_or_default 时,我不太确定如何为其提供文档所说的“answer_string”。
然后 240 是给出的答案,但我无能为力。
我还想学习HighLine::Question#gather
使用这段代码的用法。考虑到我不太了解它的文档
#gather 应该向我询问 3 行、姓名、昵称和电子邮件
无论是散列还是数组,但我相信散列会更容易阅读。