TOML dosyası nedir?
TOML (Tom’s Obvious Minimal Language), .toml uzantısını kullanan minimal bir yapılandırma dosyası biçimidir. TOML, okunması kolay olmayı, sözlüklere açık bir şekilde eşlemeyi ve farklı veri yapılarına kolayca ayrıştırmayı amaçlar. TOML, topluluk katkıları alan bir açık kaynak belirtimine sahiptir. TOML, C, C#, Dart, Elixir, Erlang, Go, Java, PHP, Python, Ruby, Swift vb. birçok programlama dili tarafından desteklenir. TOML dosyaları için MIME türü application/toml şeklindedir.
TOML Dosya Biçimi
TOML dosyaları temel olarak anahtar/değer Çiftleri, bölümler/tablolar, yorumlardan oluşur ve geçerli bir UTF-8 kodlu Unicode belgesi olmalıdır. TOML, String, Integer, Float, Boolean, Datetime, Array ve Table(karma tablo/sözlük) veri türlerini destekler. TOML, büyük/küçük harfe duyarlı bir dildir.
Sözdizimi
- Anahtar/Değer Çiftleri: Anahtar/değer çiftleri eşittir işaretiyle (=) ayrılır. Her çift yeni bir satırda olmalıdır.
ilk = "Tom"
son = "Preston-Werner"
- Yorumlar: Yorumlar kare (#) simgesiyle başlar.
# Bu bir TOML belgesidir.
- Dizeler: Dizeler tırnak (") içine alınır.
string = "Örnek Dizi"
- Çok Satırlı Dizeler: Çok Satırlı Dizeler üç tırnak (""") işaretiyle çevrilidir.
[Ev Adresi]
sokak = """123 Kasırga Yolu
Süit 16"""
şehir = "Doğu Centerville"
durum = "KS"
- Tamsayılar/Kayanlar
tamsayı = 20
kayan = 20.5
- Boolean: Boolean her zaman küçük harftir.
bool1 = doğru
bool2 = yanlış
- Date-Time: DateTime için aşağıdaki örnekte gösterildiği gibi RFC 3339 formatlı tarih-saat kullanabilirsiniz.
offset_date_time = 1979-05-27 07:32:00Z
local_date_time = 1979-05-27T07:32:00
yerel_tarih = 1979-05-27
yerel_zaman = 07:32:00
- Diziler: Diziler, öğeleri virgülle (,) ayırarak köşeli parantezler içine alınır.
renkler = [ "kırmızı", "sarı", "yeşil" ]
- Tablolar: Tablolar, köşeli parantezler ([]) içine alınmış yeni bir satırdaki başlıklarla tanımlanan anahtar/değer çiftleri koleksiyonlarıdır. Tablo, yeni bir başlık sağlandığında veya dosya bittiğinde sona erer.
[Ev Adresi]
sokak = """123 Kasırga Yolu
Süit 16"""
şehir = "Doğu Centerville"
durum = "KS"
[Ofis adresi]
sokak = """123 Kasırga Yolu
Süit 16"""
şehir = "Doğu Centerville"
durum = "KS"
Satır içi tablolar, her bir anahtar/değer çiftinin virgülle (,) ayrıldığı kaşlı ayraçlar ({}) ile çevrilidir.
isim = {ilk = "Tom", son = "Pitt" }