Re: File basenames using File.basename . .


#1

Thanks, Dan. I still get the same thing, though:
File.basename(txtfile, “.*”)
}

=> [“eula.txt”, “libcurl.COPYING.txt”, “openssl.LICENSE.txt”,
“psout2.txt”, “run
dll32.exe.Z-missing.txt”]

Oh, you’re just seeing what irb returns at the end of Array#each.

Try this:

txtfiles.each{ |txtfile|
p File.basename(txtfile, ‘.txt’)
}

If you want to change the results of the array inline, do this:

txtfiles.map!{ |txtfile| File.basename(txtfile ‘.txt’) }

Regards,

Dan


#2

Berger, Daniel wrote:

Thanks, Dan. I still get the same thing, though:
File.basename(txtfile, “.*”)
}

=> [“eula.txt”, “libcurl.COPYING.txt”, “openssl.LICENSE.txt”,
“psout2.txt”, “run
dll32.exe.Z-missing.txt”]

Oh, you’re just seeing what irb returns at the end of Array#each.

Try this:

txtfiles.each{ |txtfile|
p File.basename(txtfile, ‘.txt’)
}

If you want to change the results of the array inline, do this:

txtfiles.map!{ |txtfile| File.basename(txtfile ‘.txt’) }

Regards,

Dan

Thanks, Dan. Both of your suggestions worked for me. Now, how could I
fulfill my instructions in the filesystem itself, not just in the array?
I know I can do it with a system(“ren *.txt *.”), but, how would I do it
in RUBY?