如何在 Ruby 终端上编写带有窗口的控制台应用程序?

发布于 2024-07-10 12:42:03 字数 437 浏览 12 评论 0原文

我想用 Ruby 为终端编写一个简单的聊天客户端。 问题是,我需要两个单独的“窗口”,一个用于聊天日志,另一个用于输入提示。 我不知道如何做到这一点。 我看了 (n)curses 和其他一些 ruby​​-libs,但没有任何东西给我这个功能。

.------------------------------.
| Mike: Hi Jenny               |
| Jenny: Hi Mike, how are you? |
|------------------------------|
|> I am fine_                  |
`------------------------------'

最大的问题是,如果有新的线路到达,上框架应该滚动,但提示应该保持在其位置。 如果我在输入提示中写了一些内容,当用户按 ENTER 时,文本应该消失。

I want to write a simple chat-client in Ruby for the terminal.
The Problem is, that I need two separate "windows", one for the chatlog and another for the input prompt. I dont have a clue how to do this. I watched (n)curses and some other ruby-libs, but nothing gives me this functionality.

.------------------------------.
| Mike: Hi Jenny               |
| Jenny: Hi Mike, how are you? |
|------------------------------|
|> I am fine_                  |
`------------------------------'

The big Problem is, if a new Line arives, the upper frame should scroll, but the prompt should stay on its position. And if I write something in the input prompt, the text should disappear when the user press ENTER.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

趁微风不噪 2024-07-17 12:42:03

嗯,ncurses(及其 ruby​​ 绑定库)确实允许您这样做,因为所有相应的工具都带有 windows(1)talk(1)screen( 1)是用ncurses编写的。 您可以拥有多个带有 (n)curses 的窗口。

Well, ncurses (and its ruby binding library) does allow you for this since all the corresponding tools with windows(1), talk(1) and screen(1) are written with ncurses. You can have multiple windows with (n)curses.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文