ruby 判断范围

Python013

ruby 判断范围,第1张

楼上的回答基本没错。我可以解释一下。

=~ 是ruby里的正则表达式(regex)的匹配符号

"a" =~ [a] 是 true

"a" =~ [b] 是 false

左面是对比不定量,右边是正则表达式,这个可以去具体学习一下

LS的句子里的运用是

unless gets =~ /[a-z]/ = 除非gets里有a-z的小写字母

这个方法会看gets里有没有英文中a-z的小写字母,如果没有就会写出ALL CAPS

除了这个方法,还有另一个方法:

a = "This is a good day!"

b = a.upcase

puts "all upper case" if a == b

这个方式有两个好处。

1. 易懂

2. ruby的upcase函数有多语言支持,不仅仅能处理英文的大小写

另,你说的a in 'A'..'Z'有语法错误。

in的普遍用法是 for i in 0..10,是让i循环10次每次给它赋予一个不同的值。如果你知道别的语言你就应该知道这是for语句的写法。在这里用来判断语句的大小写不通顺也不能用。

必须进入CMD模式

而不是运行“RUBY”

然后输入“ruby -v”

你会看到版本信息。

这个是分大小写的。

然后输入“fxri”

以上引号不用输入。

也就是说直接进入命令行模式,敲入fxri。

出现IRB的页面

irb(main):001:0>

irb是编辑器

把文本文档保存在bin文件目录下

在命令行输入文档名称,可以看到结果!

甚至是只输入文档名,不带后缀也可以运行!

说明系统可以自动识别!

启动WINDOWS下面FXRI的3种方式

开始-程序-RUBY-FXRI

打开命令行CMD-输入“fxri”

找到文件fxri.rbw,在安装目录的bin目录下

找到文件fxri - Interactive Ruby Help &Console,在C盘里面

ruby判断字符串用"=="就可以。判断对象可以用"equal?"方法。此处与java相反。

p str1==str2返回的结果应该是先打印"str1==str2"的结果后,然后再输出一个空行。这点可以查看相关api。所以msgbox显示的是nil(即返回的空行)。

测试实例:

irb(main):002:0>s=p "1"=="1"

true

=>nil

irb(main):003:0>s

=>nil