实现Ruby的IO.popen()和system()

Ruby中的IO.popen()和system()非常缺乏几个有用的功能,例如:

>获取函数的返回值
>捕获stdout和stderr(单独和合并)
>运行时不产生一个额外的cmd.exe或/ bin / sh进程

Python一个模块“subprocess”,我正在考虑使用Ruby作为类似模块的灵感.现在问题:

> Ruby程序员如何解决上述问题,例如在进行popen()调用获取返回值?
这是已经实施的东西吗?

解决方法

看看标准的红宝石库 open3.这将给你访问stdin,stdout和stderr.

还有一个名为open4的外部项目,它允许您在不使用魔术变量名称的情况下获得退出状态.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...