Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 字符串比较未按预期工作_Ruby_Rubygems - Fatal编程技术网

Ruby 字符串比较未按预期工作

Ruby 字符串比较未按预期工作,ruby,rubygems,Ruby,Rubygems,代码如下: response = line.split( '|' ) MyUtil.output "Inside loop@" + response[0] + "@" FidelioUtil.output response[0].eql? 'LS' # .chomp.strip 以下是输出: Sat Mar 03 08:55:36 +0000 2012: Inside loop@LS@ Sat Mar 03 08:55:36 +0000 2012: false 这似乎不像我预期的那样起作用。

代码如下:

response = line.split( '|' )
MyUtil.output "Inside loop@" + response[0] + "@"
FidelioUtil.output response[0].eql? 'LS' # .chomp.strip
以下是输出:

Sat Mar 03 08:55:36 +0000 2012: Inside loop@LS@
Sat Mar 03 08:55:36 +0000 2012: false
这似乎不像我预期的那样起作用。少了什么

我也尝试过咀嚼和脱衣,但这似乎没有帮助

而且“to_str”也不起作用


我可以在此变量上运行任何诊断代码,以便了解它为什么无法正确比较?

问题在于字符串中存在隐藏字符。使用响应[0]。编码和响应[0]。检查帮助。

代码到底在做什么?您在输出中看到的是响应[0]的字符串表示形式。可能有不可见的字符或不同的编码,尤其是从外部文件读取时。您检查了吗?如何检查这些字符?请尝试
response[0]。如果您使用的是Ruby 1.9,请进行编码。可能是
响应[0]。检查
可能会有所帮助。