この記事は「Elixir Advent Calendar 2022」8日目の記事です
東京にいるけどFukuokaexのYOSUKEです。
簡単 Elixirシリーズでは小ネタをサクッと書いていこう。というコンセプトで作っていきます。
仕事柄、Elixir以外の言語を使ってサンプルコードを作成する。または教材を作ることをやっています。最近、カラーコードをRGBに変換してくれる関数を作りなさい。というお題のJavaScriptのコードを書いたので、Elixirで書くとどうなるか?を試してみようという記事です。(そう、この記事はサクッとがコンセプトW)
まずはJavaScriptでtoColorCode([ 219, 112, 147 ])
を入力して#DB7093
を返すようにしたいと思います。
function toColorCode(array){
const R = array.slice(0,1).pop().toString(16).toUpperCase()
const G = array.slice(1,2).pop().toString(16).toUpperCase()
const B = array.slice(2,3).pop().toString(16).toUpperCase()
console.log(["#", R, G, B ].join(''))
}
defmodule Change do
def toColorCode([r,g,b]) when is_list([r,g,b]) do
"#" <> Integer.to_string(r, 16) <> Integer.to_string(g, 16) <> Integer.to_string(b, 16)
end
end