k=[]
path="E:/expr/amit.txt"
name="amit"
File.open("amit.txt").each do |l|
k<< l
end
puts k[0]
puts name.eql?("k[0]")
O/p amit
false
why o/p containing false??it should give true
See Question&Answers more detail:osk=[]
path="E:/expr/amit.txt"
name="amit"
File.open("amit.txt").each do |l|
k<< l
end
puts k[0]
puts name.eql?("k[0]")
O/p amit
false
why o/p containing false??it should give true
See Question&Answers more detail:osThe value of name
is "amit". You're checking whether the string "amit"
is equal to the string "k[0]"
. It's not, so you get false.
What you probably meant to do was name.eql?(k[0])
, which would check whether the value k[0]
is "amit"
. However this would still return false, because k[0]
is "amit
", not "amit"
.
To fix this, you should do k << l.chomp
instead of k << l
to remove the trailing
.