RGB 10진수 -> 16진수로 변환 (Elixir)

소개



  • 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에 그대로 붙일 수 있습니다)

    사용하는 함수들


  • 에누 m. 마 p/2
  • Enum.join/2
  • Integer.to_string/2
  • String.down/2

  • 사용하는 매크로


  • |>
  • &
  • f
  • <>

  • 링크 된 공식 문서를 보면 Examples이 작성되어 이해하기 쉽습니다.
    예를 들어 에누 m. 마 p/2



    Wrapping Up 🎍🎍🎍🎍🎍


  • 과 지금까지 쓴 곳에서 Digital Color Meter는 16 진수 표시도 가능하다는 것을 알았습니다
  • 表示 > 値を表示 > 16進

  • 글쎄, 그런 일도 있다는 것으로 붓을 둡니다
  • Enjoy Elixir
  • 좋은 웹페이지 즐겨찾기