学习ruby正则表达式时遇到某程序:彩色打印出某字符川中符合正则表达式的部分,源码如下
#Requires an ANSI terminal!
st = "\033[31m"
en = "\033[m"
while TRUE
print "str> "
STDOUT.flush
str = gets
break if not str
str.chop!
print "pat> "
STDOUT.flush
re = gets
break if not re
re.chop!
str.gsub! re, "#{st}\\&#{en}"
print str, "\n"
end
print "\n"
由于win下命令行不支持ANSI彩色显示(也许支持俺不知道如何设置),安装cygwin,实际上是安装了linux版本的ruby。可正常达到程序效果。
ANSI语法不做深究,记录常用颜色如下
#值功能
#30 黑色
#31 红色
#32 绿色
#33 黄色
#34 蓝色
#35 紫红色
#36 青色
#37 白色
在cygwin下执行ruby遇到不能正常执行的问题:
执行ruby test.rb时显示错误ruby: no such file to load -- ubygems (LoadError)
可以执行export RUBYOPT=