我正在努力尝试使用简洁的比较语句来避免一堆“if a = b or a = c or a = d or a = e”等。
相反,我尝试使用正则表达式和模式匹配,就像在 Perl 中所做的那样。
与
set st = "red"
线
if ($st =~ yellow|blue|red|green)
只是不起作用(如果:表达式语法。) 我尝试使用引号、括号,但如果没有错误的话,我永远不会得到预期的结果。
有没有办法避免繁重的构造:
if ($st == 黄色) || ($st == 蓝色) || ($st == 红色) || ($st == 绿色)?
或者用另一种方式问同样的问题:tcsh 是否允许类似“如果字符串 a 包含字符串 b”之类的内容?我在 tcsh 引用中找不到任何子字符串的概念。
感谢一百万!
最佳答案
我不知道tsch,但查看此页面的信息(在特殊字符下): http://www.tcsh.org/tcsh.html/Filename_substitution.html
http://www.cs.duke.edu/csl/docs/csh.html
看来您需要用大括号括起来您的颜色:
if ($st =~ {yellow,blue,red,green})
关于tcsh 中匹配的字符串/子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4610778/