Kotlin:
ইয়ামেল নিয়ে কাজ করা

কিভাবে:

Kotlin এ YAML পার্সিং এবং সিরিয়ালাইজেশনের জন্য অন্তর্নির্মিত সমর্থন নেই, কিন্তু আপনি snakeyaml (সাধারণ YAML পার্সিং-এর জন্য) এবং kotlinx.serialization (একটি YAML ফরম্যাট এক্সটেনশনসহ) মতো জনপ্রিয় থার্ড-পার্টি লাইব্রেরিগুলি ব্যবহার করে YAML ফাইল নিয়ে কাজ করতে পারেন।

snakeyaml ব্যবহার করে

নির্ভরশীলতা:

implementation 'org.yaml:snakeyaml:1.30'

YAML পড়ুন:

import org.yaml.snakeyaml.Yaml
import java.io.FileInputStream

fun readYaml(filePath: String) {
    val yaml = Yaml()
    val inputStream = FileInputStream(filePath)
    val data = yaml.load<Map<String, Any>>(inputStream)

    println(data)
}

// নমুনা ব্যবহার
fun main() {
    readYaml("config.yaml")
}

নমুনা config.yaml:

database:
  host: localhost
  port: 5432

নমুনা আউটপুট:

{database={host=localhost, port=5432}}

kotlinx.serialization ব্যবহার করে YAML

প্রথমে, আপনি যদি একটি উপযুক্ত YAML সমর্থন লাইব্রেরির সাথে kotlinx-serialization লাইব্রেরি আছে তা নিশ্চিত করুন (যেহেতু kotlinx.serialization মূলত JSON এবং অন্যান্য ফরম্যাটের দিকে লক্ষ্য রাখে)।

নির্ভরশীলতা:

// JSON-এর জন্য (ব্যাখ্যামূলক, YAML সমর্থনের জন্য অথবা বিকল্প লাইব্রেরিগুলি পরীক্ষা করুন)
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2'

একটি সিরিয়ালাইজেবল ডেটা ক্লাস নির্ধারণ করুন:

import kotlinx.serialization.Serializable

@Serializable
data class Config(
    val database: Database
)

@Serializable
data class Database(
    val host: String,
    val port: Int
)

লেখার সময়ে, সরাসরি YAML সমর্থন kotlinx.serialization-এ সীমিত অথবা বিবর্তনশীল হতে পারে। আপনাকে snakeyaml দিয়ে YAML-কে JSON-এ পরিবর্তন করে তারপর kotlinx.serialization দিয়ে JSON পার্স করার মতো মধ্যবর্তী প্রকাশ ব্যবহার করতে হতে পারে অথবা kotlinx.serialization-এর সাথে সামঞ্জস্যপূর্ণ কমিউনিটি-চালিত YAML সিরিয়ালাইজেশন প্রোজেক্ট খুঁজতে হতে পারে।

JSON-এর জন্য, কোডটি এরকম দেখাবে:

import kotlinx.serialization.json.Json
import kotlinx.serialization.decodeFromString

fun main() {
    val jsonText = """
    {
        "database": {
            "host": "localhost",
            "port": 5432
        }
    }
    """.trimIndent()
    
    val config = Json.decodeFromString<Config>(jsonText)
    println(config)
}

Kotlin এবং এর ইকোসিস্টেম যেমন বিবর্তনমান রয়েছে, YAML সমর্থন এবং লাইব্রেরিগুলির সর্বশেষের জন্য অফিসিয়াল ডকুমেন্টেশন এবং কমিউনিটি রিসোর্স এর সাথে সংযুক্ত থাকুন।