0
私は最初の行の結果を理解していません。ファイルに拡張子を持たないファイル名があれば、そのファイル名を返します。なぜ誰かが私にそのようなことを説明することができますか、またここでより適切なものを教えてください?Ruby!subが異常なヌルを返す
irb(main):003:0> 'fafeafeafewafeawfeaw'.sub!(/\.[^\.]*$/, '')
=> nil
irb(main):004:0> '.fafeafeafewafeawfeaw'.sub!(/\.[^\.]*$/, '')
=> ""
irb(main):005:0> 'fafeafeafewafea.wfeaw'.sub!(/\.[^\.]*$/, '')
=> "fafeafeafewafea"
ありがとうございます。それは、 '!'とメソッドを混乱させることです。別のやり方で行動する。 – gisek
確かに混乱しますが、それが '!'のためです!これは、「このメソッドには奇妙な動作があります」という警告のライブラリ作成者です。一般的に、非バングバージョンのない '!'メソッド(bangメソッド)はありません。 (または少なくともそれがアイデアです) – diedthreetimes