โหมดและตัวเลือก Ruby File.open คืออะไร?


186

Ruby File.openใช้โหมดและตัวเลือกเป็นอาร์กิวเมนต์ ฉันจะค้นหารายการโหมดและตัวเลือกทั้งหมดได้จากที่ใด


ruby-doc.org/core-2.0.0/IO.html#method-c-new-label-IO+Open+Mode - ลิงก์ไปยังหน้านี้อยู่ในคำตอบของแดเนียลด้านล่าง แต่คุณต้องเลื่อนหน้าเพื่อไปที่ มัน. นี่คือลิงก์โดยตรงไปยังส่วนที่เกี่ยวข้องของเอกสาร
newUserName ที่นี่

คำตอบ:


377

ในเอกสารประกอบโมดูล Ruby IOฉันคิดว่า

Mode |  Meaning
-----+--------------------------------------------------------
"r"  |  Read-only, starts at beginning of file  (default mode).
-----+--------------------------------------------------------
"r+" |  Read-write, starts at beginning of file.
-----+--------------------------------------------------------
"w"  |  Write-only, truncates existing file
     |  to zero length or creates a new file for writing.
-----+--------------------------------------------------------
"w+" |  Read-write, truncates existing file to zero length
     |  or creates a new file for reading and writing.
-----+--------------------------------------------------------
"a"  |  Write-only, starts at end of file if file exists,
     |  otherwise creates a new file for writing.
-----+--------------------------------------------------------
"a+" |  Read-write, starts at end of file if file exists,
     |  otherwise creates a new file for reading and
     |  writing.
-----+--------------------------------------------------------
"b"  |  Binary file mode (may appear with
     |  any of the key letters listed above).
     |  Suppresses EOL <-> CRLF conversion on Windows. And
     |  sets external encoding to ASCII-8BIT unless explicitly
     |  specified.
-----+--------------------------------------------------------
"t"  |  Text file mode (may appear with
     |  any of the key letters listed above except "b").

2
ขอบคุณสำหรับรายการโมเอส แต่จะมีตัวเลือกสำหรับรายการใดบ้าง: File.open (ชื่อไฟล์, โหมด = "r" [opt]) => ไฟล์
never_had_a_name

1
คุณพบสิ่งนั้นจากที่ไหน น่าเสียดายที่ฉันไม่พบFile.open(filename, mode="r" [, opt])ในเอกสาร
Daniel O'Hara

@floatless ใน API สำหรับคลาสไฟล์ ไปที่คลาส "ไฟล์" จากนั้นคลิกวิธี "เปิด"
never_had_a_name

1
ฉันคิดว่ามันเป็นการทดลองบางอย่างที่ยังไม่ได้ใช้งาน และฉันก็ยังไม่เข้าใจว่า API ของคุณพูดถึงอะไร ให้ลิงค์
Nakilon

1
หากฉันอาจเพิ่มสิ่งเล็กน้อยสำหรับ "a +" การอ่านเริ่มต้นที่จุดเริ่มต้นของไฟล์ไม่ใช่ที่ท้ายไฟล์ (ในกรณีที่มีคนสงสัย)
yoppuyoppu

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.