Ruby:
การทำงานร่วมกับ TOML
วิธีการ:
ก่อนอื่น, ติดตั้ง gem toml-rb
เป็นตัวเลือกยอดนิยมสำหรับการแยกวิเคราะห์ TOML ใน Ruby
gem install toml-rb
ต่อไป, การอ่านไฟล์ TOML:
require 'toml-rb'
toml_content = File.read('config.toml')
config = TomlRB.parse(toml_content)
puts config['title']
ตัวอย่างผลลัพธ์อาจเป็น:
My Awesome App
การเขียนไปยังไฟล์ TOML:
require 'toml-rb'
config = {
'title' => 'My Awesome App',
'owner' => {
'name' => 'John Doe',
'dob' => Date.new(1979, 5, 27)
}
}
toml_string = TomlRB.dump(config)
File.write('config.toml', toml_string)
ตรวจสอบ config.toml
และคุณจะเห็นการตั้งค่าของคุณได้รับการเก็บรักษาอย่างเรียบร้อย
ดื่มด่ำ
TOML ย่อมาจาก Tom’s Obvious, Minimal Language ถูกสร้างโดย Tom Preston-Werner, ผู้ร่วมก่อตั้ง GitHub, ประมาณปี 2013 เป้าหมายหลักคือเพื่อเป็นรูปแบบที่ตรงไปตรงมาและง่ายต่อการแยกวิเคราะห์เข้าสู่โครงสร้างข้อมูล แม้ว่า JSON เป็นที่ยอดเยี่ยมสำหรับ API และ YAML เป็นที่ยืดหยุ่น, แต่ช่องว่างของ TOML คือการเน้นย้ำไปที่ความเป็นมิตรกับมนุษย์ ไม่เหมือนกับ YAML ที่อาจมีความละเอียดอ่อนกับการเยื้อง, TOML มุ่งหมายไปที่โครงสร้างที่คล้ายกับ INI ซึ่งหลายคนพบว่าง่ายขึ้นและน้อยความผิดพลาด
ทางเลือกอื่นๆ เช่น JSON, YAML, หรือ XML ล้วนมีจุดแข็งของตัวเอง แต่ TOML เจริญรุ่งเรืองในสถานการณ์ที่คอนฟิกควรจะง่ายต่อการบำรุงรักษาโดยมนุษย์และโปรแกรมเหมือนกัน ไม่เพียงแต่ง่ายกว่าเท่านั้นแต่ยังบังคับใช้การจัดรูปแบบที่เข้มงวดและอ่านง่าย
ทางด้านเทคนิค, เพื่อแยกวิเคราะห์เนื้อหา TOML ด้วย Ruby, เราใช้ประโยชน์จาก gems เช่น toml-rb
Gem นี้ใช้ประโยชน์จากธรรมชาติแบบไดนามิกของ Ruby, แปลงข้อมูล TOML เป็นแฮช, อาร์เรย์ Ruby พื้นฐานและโครงสร้างข้อมูลพื้นฐานอื่นๆ การแปลงนี้หมายความว่านักพัฒนาสามารถทำงานกับข้อมูล TOML โดยใช้สัญญาณวิธีและวิธีการที่คุ้นเคยของ Ruby
ดูเพิ่มเติม
- โปรเจ็กต์และข้อกำหนดของ TOML: https://toml.io/en/
- Gem
toml-rb
: https://github.com/emancu/toml-rb - เปรียบเทียบ TOML, YAML, และ JSON: https://blog.theodo.com/2021/08/compare-yml-toml-json/