object HexToRGB {
def hexToRgb(hex: String): (Int, Int, Int) = {
val cleanHex = if (hex.startsWith("#")) hex.substring(1) else hex
val processedHex = if (cleanHex.length == 3) {
cleanHex.flatMap(c => s"$c$c")
} else {
cleanHex
}
require(processedHex.length == 6, "Invalid HEX color format")
val r = Integer.parseInt(processedHex.substring(0, 2), 16)
val g = Integer.parseInt(processedHex.substring(2, 4), 16)
val b = Integer.parseInt(processedHex.substring(4, 6), 16)
(r, g, b)
}
def main(args: Array[String]): Unit = {
val hexColor1 = "#FF05A3"
val rgb1 = hexToRgb(hexColor1)
println(s"RGB: ${rgb1}")
val hexColor2 = "#f00"
val rgb2 = hexToRgb(hexColor2)
println(s"RGB: ${rgb2}")
}
}
/*
run:
RGB: (255,5,163)
RGB: (255,0,0)
*/