FakeProfilePictures::Photo.all_large_names_2x
(नीचे परिभाषित) पूर्ण पथ नामों की एक सरणी देता है, लेकिन जब मैं Dir["picture_*@2x.*"]
irb
में सही निर्देशिका से करता हूं, तो मुझे केवल बेसनाम (जो मैं चाहता हूं) प्राप्त करता हूं। आधार नाम पाने का सबसे अच्छा तरीका क्या है? मुझे पता है कि मैं टिप्पणी में दिखाए गए अनुसार .map { |f| File.basename(f) }
जोड़ कर ऐसा कर सकता हूं, लेकिन क्या कोई आसान/better/faster/stronger तरीका है?रूबी डिर # ग्लोब को बेसनेम वापस करने के लिए कैसे प्राप्त करें, absolute_paths नहीं?
module FakeProfilePictures
class Photo
DIR = File.expand_path(File.join(File.dirname(__FILE__), "photos"))
# ...
def self.all_large_names_2x
@@all_large_names_2x ||= Dir[File.join(DIR, "picture_*@2x.*")] # .map { |f| File.basename(f) }
end
end
end
अच्छा। '@@ all_large_names_2x || = Dir.chdir (डीआईआर) {Dir [" चित्र _ * @ 2x। * "]} 'काम किया! धन्यवाद! मुझे लगता है कि मैं उस कारण से जाऊंगा क्योंकि यह कम कोड है और शायद तेज़ है? कौन जाने... – ma11hew28