gpt4 book ai didi

ruby - 如何在不保存到文件的情况下将文本数据从 ruby​​ 控制台传递到剪贴板?

转载 作者:数据小太阳 更新时间:2023-10-29 06:37:22 25 4
gpt4 key购买 nike

我正在尝试将我创建的全局变量中包含的数组传递到我 mac 上的剪贴板中。

它很长,所以我不想在我的控制台上突出显示、复制和粘贴。

我想使用嵌入式 unix 代码,特别是 mac 笔记本电脑控制台的 pbcopy 函数,它允许我将文本传递到我的计算机剪贴板,准备粘贴。

如果我通过文件保存来做到这一点,我会做这样的事情(在 ruby​​ 中):

stringdata = <<blah blah blah process, lets say it failed and the progress data is stored in this variable so we can skip forward to where the script screwed up in a process when we start up and handle the error instance(s)>>
File.open("temp.txt"){|f| f.write(stringdata)}
`cat temp.txt | pbcopy`

但我是否可以在不创建临时文件的情况下执行此操作?

我相信这是可能的。文本中的所有内容都是可能的。提前感谢您的解决方案

最佳答案

如果字符串中没有换行符,你可以只回显它;否则,使用 IO 类。

使用echo:

system "echo #{stringdata} | pbcopy"

`echo #{stringdata} | pbcopy`

然后 Ruby 将从内存中提取文本,将其注入(inject) shell 命令,该命令在 echopbcopy 进程之间打开一个管道。

使用 IO 类:

如果你想用 Ruby 的方式来做,我们只需使用 IO 类用 pbcopy 创建一个管道。这会在我们写入的进程之间创建一个共享文件,pbcopy 将从中读取。

IO.popen("pbcopy", "w") { |管道| pipe.puts“ Hello World !” }

关于ruby - 如何在不保存到文件的情况下将文本数据从 ruby​​ 控制台传递到剪贴板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27261378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com