RGB 10進数 -> 16進数へ変換 (Elixir)
10688 ワード
はじめに
-
Elixir楽しんでいますか
-
Integer.to_string/2
- これが肝です
- もう少し具体例をまじえて書いておきます
10進数 -> 16進数へ変換したい
- これが肝です
- もう少し具体例をまじえて書いておきます
- 一般的にはスポイトツールとでもいうのでしょうか、macOSなら
その他 > Digital Color Meter
というものです - 10進数のRGBを16進数に変えたいことありますよね
- たとえば、autoracexというグループを立ち上げましてですね、背景色をElixir色にしたいわけですよ
- このグループのテーマ曲はもちろんセクシャルバイオレットNo.1であります
- You make me feel good
-
IEx(Elixir's interactive shell)
を立ち上げて以下のような感じで変換できます
iex> [74, 46, 94] |> Enum.map(&Integer.to_string(&1, 16)) |> Enum.join() |> String.downcase() |> (&("##{&1}")).()
"#4a2e5e"
-
(&("##{&1}")).()
なんて書き方は格好つけているだけです- そうです
- 文字通り、
- $\huge{カッコ()ばっかりつけているだけです}$
- 次に書いているものは、の別な書き方です
iex> (
...> [74, 46, 94]
...> |> Enum.map(fn i -> Integer.to_string(i, 16) end)
...> |> Enum.join()
...> |> String.downcase()
...> |> (fn s -> "#" <> s end).()
...> )
"#4a2e5e"
- IO.inspect/2を途中にはさみながら書くとそれぞれの関数を通ったあとの結果がみれて、ありがとナイスです
(
[74, 46, 94]
|> Enum.map(fn i -> Integer.to_string(i, 16) end)
|> IO.inspect()
|> Enum.join()
|> IO.inspect()
|> String.downcase()
|> IO.inspect()
|> (fn s -> "#" <> s end).()
)
(IExにそのまま貼れます)
使っている関数たち
使っているマクロたち
リンク先の公式ドキュメントをみていただくとExamples
が書いてあってわかりやすいです
たとえばEnum.map/2
Wrapping Up 🎍🎍🎍🎍🎍
- と、ここまで書いたところで、
Digital Color Meter
は16進数表示もできることに気づきました
表示 > 値を表示 > 16進
- まあ、そんなこともあるさということで筆をおきます
- Enjoy Elixir
Digital Color Meter
は16進数表示もできることに気づきました
表示 > 値を表示 > 16進
Author And Source
この問題について(RGB 10進数 -> 16進数へ変換 (Elixir)), 我々は、より多くの情報をここで見つけました https://qiita.com/torifukukaiou/items/e273eda319d74f3c0938著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .