当字符串流式传输到终端时,我想拉皮条某些字符串方法。例如,我想重写String#to_s
. 我希望字符串在终端上以 ANSI 颜色代码提供,而不是在将其写入文件时。为此,我必须有权访问当前正在写入的 IO。我是否有权访问标识当前读/写上下文的变量?
问问题
98 次
2 回答
2
类似字符串的方法to_s
非常重要,以至于修改它们可能会弄乱很多依赖代码。与其修改方法,不如修改String
方法,IO
例如puts
,等。您可以对例如(多态性)print
的每个子类赋予不同的定义。然后,您不需要识别 IO 类。IO
File
于 2013-10-03T11:28:54.107 回答
0
IO#isatty
可能是您正在寻找的。但塞尔吉奥的建议仍然是更好的选择。
更多信息。
于 2013-10-03T11:18:08.813 回答