0
我不明白第一行的結果。如果文件有一個,它應該返回一個沒有擴展名的文件名。有人可以向我解釋爲什麼它是這樣的,並告訴我什麼會更合適嗎?Ruby!sub返回奇怪的null
irb(main):003:0> 'fafeafeafewafeawfeaw'.sub!(/\.[^\.]*$/, '')
=> nil
irb(main):004:0> '.fafeafeafewafeawfeaw'.sub!(/\.[^\.]*$/, '')
=> ""
irb(main):005:0> 'fafeafeafewafea.wfeaw'.sub!(/\.[^\.]*$/, '')
=> "fafeafeafewafea"
謝謝,你說得對。使用'!'的方法有點令人困惑表現方式不同。 – gisek
確實令人困惑,但這就是'!'的用途!這是一個圖書館作者,警告你'嘿,這種方法有奇怪的(呃)行爲'。一般來說,不會有沒有非爆炸版本的'!'方法(爆炸方法)。 (或者至少是這個想法) – diedthreetimes