இதுவரை ரூபியின் அடிப்படைகளை பார்த்தோம். இந்த அத்தியாயத்தில் ரூபியில் கோப்பு (File) மற்றும் கோப்பகங்கள் (Directory) கையாளுவதை காணலாம்.
வேறொரு கோப்பகத்திற்கு செல்லுதல்:
ஒரு குறிப்பிட்ட கோப்பகத்திலிருந்து ரூபி செயலிகளை செயல்படுத்த ஆரம்பிக்கலாம். பெரும்பாலான நேரங்களில், நிரல் மூலமாக, நாம் ஒரு கோப்பகத்திலிருந்து, கோப்பு அமைப்பிலுள்ள (file system) மற்றொரு கோப்பகத்திற்கு போக வேண்டியிருக்கும். ரூபியில் Dir வர்க்கத்தில் பல்வேறு செயற்கூறுகள் உள்ளன. அதை கொண்டு நாம் மற்றொரு கோப்பகத்திற்கு செல்லலாம்.
முதலவதாக நாம் எந்த கோப்பகத்தில் உள்ளோம் என்பதை அறிந்து கொள்வது அவசியமாகும். இதை ரூபியில் Dir வர்க்கத்திலுள்ள pwd செயற்கூற்றைக்கொண்டு அறியலாம்:
[code lang=”ruby”]
Dir.pwd
[/code]
ரூபியில் தற்போதைய பயன்பாட்டிலுள்ள கோப்பகத்தை மாற்ற chdir செயற்கூற்றைப் பயன்படுத்தலாம். இந்த செயற்கூற்றில் எந்த கோப்பகத்திற்கு செல்ல வேண்டுமோ அதை argument ஆக கொடுக்க வேண்டும்:
[code lang=”ruby”]
Dir.chdir("/home/user/Desktop/test")
[/code]
புதிய கோப்பகங்களை உருவாக்குதல்:
ஒரு கோப்பகத்தை உருவாக்க ரூபியில் Dir வர்க்கத்திலிருக்கும் mkdir செயற்கூற்றைப் பயன்படுத்தலாம். இந்த செயற்கூற்றில் புதிய கோப்பகத்தின் பாதையை (Path) argument ஆக கொடுக்க வேண்டும்.
[code lang=”ruby”]
Dir.mkdir("/home/user/Desktop/temp")
=> 0
[/code]
கோப்பகத்திலுள்ள உருப்படிகளை பட்டியலிடுதல்:
நாம் விரும்பிய கோப்பகத்திற்கு சென்றவுடன், பொதுவான ஒரு தேவை, அதிலுள்ள கோப்புகளைப்பட்டியலிடுதல் ஆகும். இதற்கு entries method-ஐப்பயன்படுத்தலாம். Entries செயற்கூற்றிற்கு பட்டியலிட வேண்டிய கோப்பகத்தின் பாதையை argument ஆக கொடுக்க வேண்டும். அது அந்த கோப்பகத்திலுள்ள கோப்புகளின் பெயரை array-யில் திருப்பி அனுப்பும்:
பின்வரும் எடுத்துக்காட்டில், தற்பொழுது உள்ள கோப்பகத்திலுள்ள கோப்புகளின் பட்டியலைக்காணலாம்,
[code lang=”ruby”]
Dir.entries(".")
=> ["ruby in tamil.odt", "BankAccount.rb", ".", "hello.rb~", "NewBankAccount.rb", "..", "~lock.ruby in tamil.odt#", "hello.rb", "Ruby Hashes.htm", "NewBankAccount.rb~", "BankAccount.rb~", "Ruby Hashes_files"]
[/code]
விடையாகப் பெற்ற Array-யிலிருந்து அதன் கூறுகளைப்பெற,
[code lang=”ruby”]
dirListing.each { |file| puts file }
[/code]
மாற்றுவழியாக, dir வர்க்கத்திலுள்ள foreach செயற்கூற்றைக் கொண்டு அதே விடையை பெறலாம்:
[code lang=”ruby”]
Dir.foreach(".") { |file| puts file }
[/code]
— தொடரும்
பிரியா – priya.budsp@gmail.com – ஐக்கிய அரபு அமீரகம்