1)
- @client.getAvatars(@accountName).each do |avatar|
=avatar['deleted']
output:
false
false
true
2)
- @client.getAvatars(@accountName).each do |avatar|
- if(avatar['deleted'] == 'false')
=avatar['deleted']
empty output
3)
- @client.getAvatars(@accountName).each do |avatar|
- if(avatar['deleted'] != 'false')
=avatar['deleted']
output:
false
false
true
I don’t understand why it works so strange, can you explain it to me ?
PS: my working variant is
- @client.getAvatars(@accountName).each do |avatar|
- if(!avatar['deleted'])
=avatar['deleted']
output:
false
false
I think the problem is that you think
avatar['deleted']returns a string (the word “false” or the word “true”), when really is returning a boolean.Try this code:
Note that
falseis not a string, but a keyword: it’s a boolean flag. Now you should get output that better coincides with your first scenario.