婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 在Ruby中處理文件的輸入和輸出的教程

在Ruby中處理文件的輸入和輸出的教程

熱門標簽:征服者企業地圖標注 漯河電銷 柯城手機地圖如何做地圖標注 中牟外呼系統違法嗎 巫師3地圖標注魔力之所 淮安自動外呼系統供應商 外呼線路從哪里出來的 AI電銷機器人 線路 天津外呼系統怎么收費

Ruby 提供了一整套 I/O 相關的方法,在內核(Kernel)模塊中實現。所有的 I/O 方法派生自 IO 類。

類 IO 提供了所有基礎的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。

本章節將講解所有 Ruby 中可用的基礎的 I/O 函數。如需了解更多的函數,請查看 Ruby 的 IO 類。
puts 語句

在前面的章節中,您賦值給變量,然后使用 puts 語句打印輸出。

puts 語句指示程序顯示存儲在變量中的值。這將在每行末尾添加一個新行。
實例

#!/usr/bin/ruby
 
val1 = "This is variable one"
val2 = "This is variable two"
puts val1
puts val2

這將產生以下結果:

This is variable one
This is variable two

gets 語句

gets 語句可用于獲取來自名為 STDIN 的標準屏幕的用戶輸入。
實例

下面的代碼演示了如何使用 gets 語句。該代碼將提示用戶輸入一個值,該值將被存儲在變量 val 中,最后會被打印在 STDOUT 上。

#!/usr/bin/ruby
 
puts "Enter a value :"
val = gets
puts val

這將產生以下結果:

Enter a value :
This is entered value
This is entered value

putc 語句

與 puts 語句不同,puts 語句輸出整個字符串到屏幕上,而 putc 語句可用于依次輸出一個字符。
實例

下面代碼的輸出只是字符 H:

#!/usr/bin/ruby
 
str="Hello Ruby!"
putc str

這將產生以下結果:

H

print 語句

print 語句與 puts 語句類似。唯一的不同在于 puts 語句在輸出內容后會跳到下一行,而使用 print 語句時,光標定位在同一行。
實例

#!/usr/bin/ruby
 
print "Hello World"
print "Good Morning"

這將產生以下結果:

Hello WorldGood Morning

打開和關閉文件

截至現在,您已經讀取并寫入標準輸入和輸出。現在,我們將看看如何操作實際的數據文件。
File.new 方法

您可以使用 File.new 方法創建一個 File 對象用于讀取、寫入或者讀寫,讀寫權限取決于 mode 字符串。最后,您可以使用 File.close 方法來關閉該文件。
語法

aFile = File.new("filename", "mode")
  # ... 處理文件
aFile.close

File.open 方法

您可以使用 File.open 方法創建一個新的 file 對象,并把該 file 對象賦值給文件。但是,File.open 和 File.new 方法之間有一點不同。不同點是 File.open 方法可與塊關聯,而 File.new 方法不能。

File.open("filename", "mode") do |aFile|
  # ... process the file
end

下表列出了打開文件的不同模式:

文件查詢

下面的命令在打開文件前檢查文件是否已存在:

#!/usr/bin/ruby
 
File.open("file.rb") if File::exists?( "file.rb" )

下面的命令查詢文件是否確實是一個文件:

#!/usr/bin/ruby
 
# 返回 i>true/i> 或 i>false/i>
File.file?( "text.txt" )

下面的命令檢查給定的文件名是否是一個目錄:

#!/usr/bin/ruby
 
# 一個目錄
File::directory?( "/usr/local/bin" ) # => true
 
# 一個文件
File::directory?( "file.rb" ) # => false

下面的命令檢查文件是否可讀、可寫、可執行:

#!/usr/bin/ruby
 
File.readable?( "test.txt" )  # => true
File.writable?( "test.txt" )  # => true
File.executable?( "test.txt" ) # => false

下面的命令檢查文件是否大小為零:

#!/usr/bin/ruby
 
File.zero?( "test.txt" )   # => true

下面的命令返回文件的大小:

#!/usr/bin/ruby
 
File.size?( "text.txt" )   # => 1002

下面的命令用于檢查文件的類型:

#!/usr/bin/ruby
 
File::ftype( "test.txt" )   # => file

ftype 方法通過返回下列中的某個值來標識了文件的類型:file、 directory、 characterSpecial、 blockSpecial、 fifo、 link、 socket 或 unknown。

下面的命令用于檢查文件被創建、修改或最后訪問的時間:

#!/usr/bin/ruby
 
File::ctime( "test.txt" ) # => Fri May 09 10:06:37 -0700 2008
File::mtime( "text.txt" ) # => Fri May 09 10:44:44 -0700 2008
File::atime( "text.txt" ) # => Fri May 09 10:45:01 -0700 2008

Ruby 中的目錄

所有的文件都是包含在目錄中,Ruby 提供了處理文件和目錄的方式。File 類用于處理文件,Dir 類用于處理目錄。
瀏覽目錄

為了在 Ruby 程序中改變目錄,請使用 Dir.chdir。下面的實例改變當前目錄為 /usr/bin。

Dir.chdir("/usr/bin")

您可以通過 Dir.pwd 查看當前目錄:
puts Dir.pwd # 返回當前目錄,類似 /usr/bin

您可以使用 Dir.entries 獲取指定目錄內的文件和目錄列表:

puts Dir.entries("/usr/bin").join(' ')

Dir.entries 返回一個數組,包含指定目錄內的所有項。Dir.foreach 提供了相同的功能:

Dir.foreach("/usr/bin") do |entry|
  puts entry
end

獲取目錄列表的一個更簡潔的方式是通過使用 Dir 的類數組的方法:

Dir["/usr/bin/*"]

創建目錄

Dir.mkdir 可用于創建目錄:

Dir.mkdir("mynewdir")

您也可以通過 mkdir 在新目錄(不是已存在的目錄)上設置權限:

注意:掩碼 755 設置所有者(owner)、所屬組(group)、每個人(world [anyone])的權限為 rwxr-xr-x,其中 r = read 讀取,w = write 寫入,x = execute 執行。

Dir.mkdir( "mynewdir", 755 )

刪除目錄

Dir.delete 可用于刪除目錄。Dir.unlink 和 Dir.rmdir 執行同樣的功能,為我們提供了便利。

Dir.delete("testdir")

創建文件 臨時目錄

臨時文件是那些在程序執行過程中被簡單地創建,但不會永久性存儲的信息。

Dir.tmpdir 提供了當前系統上臨時目錄的路徑,但是該方法默認情況下是不可用的。為了讓 Dir.tmpdir 可用,使用必需的 'tmpdir' 是必要的。

您可以把 Dir.tmpdir 和 File.join 一起使用,來創建一個獨立于平臺的臨時文件:

require 'tmpdir'
  tempfilename = File.join(Dir.tmpdir, "tingtong")
  tempfile = File.new(tempfilename, "w")
  tempfile.puts "This is a temporary file"
  tempfile.close
  File.delete(tempfilename)

這段代碼創建了一個臨時文件,并向其中寫入數據,然后刪除文件。Ruby 的標準庫也包含了一個名為 Tempfile 的庫,該庫可用于創建臨時文件:

require 'tempfile'
  f = Tempfile.new('tingtong')
  f.puts "Hello"
  puts f.path
  f.close

您可能感興趣的文章:
  • 簡要說明Ruby中的迭代器
  • 在Ruby中處理日期和時間的教程
  • 進一步深入Ruby中的類與對象概念

標簽:南昌 大慶 西雙版納 內江 河池 甘孜 棗莊 克拉瑪依

巨人網絡通訊聲明:本文標題《在Ruby中處理文件的輸入和輸出的教程》,本文關鍵詞  在,Ruby,中,處理,文件,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在Ruby中處理文件的輸入和輸出的教程》相關的同類信息!
  • 本頁收集關于在Ruby中處理文件的輸入和輸出的教程的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国模套图日韩精品一区二区| 国产成人夜色高潮福利影视| 日韩国产成人精品| 日本高清不卡视频| 亚洲小少妇裸体bbw| 91久久国产综合久久| 亚洲制服丝袜av| 欧洲中文字幕精品| 日韩国产高清在线| 精品sm在线观看| yourporn久久国产精品| 亚洲人午夜精品天堂一二香蕉| 欧洲另类一二三四区| 久久99精品久久久久久久久久久久 | 男男视频亚洲欧美| 精品国产电影一区二区| 国产一区二区视频在线| 中文字幕av一区二区三区免费看| 97精品电影院| 日本欧美一区二区在线观看| 国产人成一区二区三区影院| 在线视频国产一区| 久久99国产精品麻豆| 亚洲男帅同性gay1069| 日韩欧美一级在线播放| 久久精品国产亚洲高清剧情介绍| 久久精品一区二区| 欧美日韩久久一区二区| 麻豆国产欧美一区二区三区| 国产精品久线在线观看| 欧美日韩免费视频| 成人黄色小视频| 六月丁香婷婷色狠狠久久| 国产精品久久久久久久久图文区| 91精品欧美一区二区三区综合在| 国产一区二区三区久久久| 亚洲国产精品欧美一二99| 久久久99精品免费观看| 欧美军同video69gay| 成人app下载| 韩国理伦片一区二区三区在线播放 | 精品久久免费看| 欧美午夜不卡视频| 成人一区二区在线观看| 日本欧美在线观看| 一区二区三区在线观看网站| 亚洲精品一区在线观看| 欧洲精品中文字幕| av激情成人网| 国产成人午夜电影网| 亚洲一卡二卡三卡四卡五卡| 久久久综合精品| 日韩欧美国产精品一区| 欧美精品九九99久久| 99久久综合精品| 日韩电影在线免费观看| 亚洲午夜久久久久久久久电影网 | 日韩精品综合一本久道在线视频| 波多野结衣在线一区| 日本美女一区二区| 亚洲第一久久影院| 亚洲国产精品一区二区www在线 | 国产91精品在线观看| 亚洲国产综合人成综合网站| 亚洲精品一区二区三区精华液| 99国产精品国产精品毛片| 国产在线观看免费一区| 免费欧美日韩国产三级电影| 亚洲精品一二三| 26uuu久久综合| 精品日韩在线观看| 日韩片之四级片| 91精品国产欧美一区二区成人| 日本高清不卡在线观看| 欧亚一区二区三区| 欧美日韩国产另类一区| 一本一道综合狠狠老| 色综合久久中文字幕| 欧美视频一区二区在线观看| 91网站在线播放| 91视频在线看| 欧美性猛交一区二区三区精品 | 91首页免费视频| 一本色道久久综合狠狠躁的推荐| 不卡一区二区中文字幕| 成人av资源网站| 色天使久久综合网天天| 欧美色成人综合| 日韩午夜激情电影| 久久久不卡网国产精品二区| 国产精品伦理在线| 亚洲国产精品一区二区久久 | 日韩写真欧美这视频| 精品福利一区二区三区免费视频| 久久看人人爽人人| 亚洲日本在线观看| 男人的天堂亚洲一区| 成人在线视频一区| 欧美一区二区三区视频在线| 欧美成va人片在线观看| 国产精品免费视频网站| 亚洲大片精品永久免费| 国产精品1区二区.| 欧美精品丝袜中出| 中文字幕高清不卡| 男人的天堂久久精品| 色婷婷精品久久二区二区蜜臂av| 欧美一级理论片| 最好看的中文字幕久久| 精一区二区三区| 欧美又粗又大又爽| 国产婷婷色一区二区三区| 亚洲福利视频一区| 99久久精品国产麻豆演员表| 日韩色在线观看| 一区二区三区精品视频在线| 国产精品一卡二卡在线观看| 欧美一区二区私人影院日本| 亚洲韩国精品一区| 日本黄色一区二区| 亚洲欧美日韩在线不卡| 国产在线播放一区| 精品国产一二三区| 久久国产婷婷国产香蕉| 精品视频一区三区九区| 亚洲欧美日韩一区| 色综合天天综合网国产成人综合天| 久久久国际精品| 国产一区二区中文字幕| 欧美变态tickle挠乳网站| 日本欧美大码aⅴ在线播放| 欧美日韩1234| 婷婷开心激情综合| 欧美日韩视频在线一区二区| 一区二区三区日韩精品视频| 91在线免费播放| 国产精品美日韩| 97久久精品人人做人人爽50路| 国产色爱av资源综合区| 国产综合久久久久影院| 精品国产凹凸成av人网站| 捆绑调教一区二区三区| www亚洲一区| 国产91在线观看丝袜| 最新高清无码专区| 91福利区一区二区三区| 亚洲国产精品久久不卡毛片| 欧美性色aⅴ视频一区日韩精品| 夜夜嗨av一区二区三区中文字幕| 在线欧美日韩精品| 亚洲成人手机在线| 日韩欧美视频在线 | 视频在线在亚洲| 91精品1区2区| 丝袜美腿亚洲色图| 欧美一级久久久| 另类小说欧美激情| 欧美国产亚洲另类动漫| 色哟哟国产精品| 麻豆成人免费电影| 国产精品色在线| 欧美在线视频你懂得| 天天亚洲美女在线视频| 精品成人私密视频| 99久久国产综合精品女不卡| 亚洲综合在线第一页| 精品国产91九色蝌蚪| 不卡的av电影在线观看| 亚洲一区二区三区免费视频| 在线不卡欧美精品一区二区三区| 免费在线成人网| 国产精品三级久久久久三级| 91福利国产精品| 久久精品国产精品亚洲综合| 1024成人网色www| 欧美一区二区精品久久911| 成人av免费在线播放| 奇米精品一区二区三区在线观看| 欧美国产成人在线| 欧美日本在线看| aa级大片欧美| 九一九一国产精品| 夜夜爽夜夜爽精品视频| 久久久蜜臀国产一区二区| 欧美日韩亚洲综合| av亚洲精华国产精华精| 激情欧美日韩一区二区| 一区二区三区加勒比av| 国产三级久久久| 欧美精品乱码久久久久久| 91视频www| 国产一区二区三区精品视频| 一区二区三区成人| 久久久久久久久久久黄色| 91精品国产综合久久福利软件| 成人a区在线观看| 国产精品自在欧美一区| 久久精品国产99| 五月天亚洲婷婷| 一区二区三区四区av|