當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby PTY.open用法及代碼示例

本文簡要介紹ruby語言中 PTY.open 的用法。

用法

open → [master_io, slave_file]
open {|(master_io, slave_file)| ... } → block value

分配一個 pty (pseudo-terminal)。

在塊形式中,產生一個包含兩個元素的數組 (master_io, slave_file),塊的值從 open 返回。

IO File 如果尚未關閉,則會在塊完成後關閉。

PTY.open {|master, slave|
  p master      #=> #<IO:masterpty:/dev/pts/1>
  p slave      #=> #<File:/dev/pts/1>
  p slave.path #=> "/dev/pts/1"
}

在非塊形式中,返回一個二元素數組 [master_io, slave_file]

master, slave = PTY.open
# do something with master for IO, or the slave file

兩種形式的參數是:

master_io

pty 的主人,作為 IO

slave_file

pty 的奴隸,作為 File 。終端設備的路徑可通過slave_file.path獲得

IO#raw! 可用於禁用換行符轉換:

require 'io/console'
PTY.open {|m, s|
  s.raw!
  # ...
}

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 PTY.open。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。