ฉันรู้ว่ามี libs ในภาษาอื่นที่สามารถใช้สตริงที่มีพา ธ ไปยังไฟล์ในเครื่องหรือ url และเปิดเป็นสตรีม IO ที่อ่านได้
มีวิธีง่ายๆในการทำทับทิมหรือไม่?
ฉันรู้ว่ามี libs ในภาษาอื่นที่สามารถใช้สตริงที่มีพา ธ ไปยังไฟล์ในเครื่องหรือ url และเปิดเป็นสตรีม IO ที่อ่านได้
มีวิธีง่ายๆในการทำทับทิมหรือไม่?
คำตอบ:
open-uriเป็นส่วนหนึ่งของไลบรารี Ruby มาตรฐานและจะกำหนดลักษณะการทำงานใหม่open
เพื่อให้คุณสามารถเปิด url รวมถึงไฟล์ในเครื่องได้ มันส่งกลับFile
วัตถุดังนั้นคุณควรจะสามารถที่จะเรียกวิธีการเช่นและread
readlines
require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }
web_contents = open('http://www.stackoverflow.com') {|f| f.read }
content = open("http://example.com").read
open-uri
จะไม่สตรีมไฟล์ดังนั้นคุณจึงไม่สามารถอ่าน 4k แรกได้ open-uri
จะอ่านไฟล์ทั้งหมดไปยังหน่วยความจำในขณะที่เปิด
URI.parse('http://www.stackoverflow.com').open { |f| f.read }
หากคุณกำลังมองหาวิธีที่จะประกันไม่ได้โทรKernal.open
. ยังเข้าใจกฎความปลอดภัยของ rubocop