I am trying to handle an array with Ruby v1.9.2 but it has some strange behavior.
The best explanation may be done with examples:
CASE 1 TEST
@test1 = "image/bmp, image/gif, image/jpg".split(',')
--- - image/bmp # why this?! - " image/gif" - " image/jpg"
CASE 2 TEST
@test2 = ", image/bmp, image/gif, image/jpg".split(',')
--- - "" # why this?! - " image/bmp" - " image/gif" - " image/jpg"
WHAT I NEED
Notice: I can use the CASE 2 TEST, but I would like to do things right and better.
Debug that I would like to have:
--- - " image/bmp" - " image/gif" - " image/jpg"
In the test case 1 there is no space before "image/bmp" in the result because there is no space before "image/bmp" in the original string.
In the test case 2 there is an empty string at the beginning because the string starts with a comma, and for every separator in the string there is a string in the resulting array, containing what comes before that separator (which in this case means the empty string).
If you want the result you've shown, you could just add a space (but no comma) before "image/bmp" in the source string. Alternatively you could split by
/, */ and then add one space before each string with map. Though frankly I don't get why you want a space before each string.