"A"에서 "Z"중에서 index=10의 알파벳은 무엇? (Elixir)

13591 단어 Elixir

소개



  • Elixir 즐기십니까
  • 얼마 전 쓴 "Rails on Tiles (어떻게 쓰기) (Elixir)"안에 궁리한 점이 있었기 때문에 거기만을 잘라 써 둡니다.

    "A"에서 "Z"중에서 index=10의 알파벳은 무엇?



    루비


  • 우선 루비 선배
  • irb(main):006:0> ('A'..'Z').to_a[10]
    => "K"
    

    Elixir


    iex> "A".."Z"
    ** (ArgumentError) ranges (first..last) expect both sides to be integers, got: "A".."Z"
        (elixir 1.11.2) lib/kernel.ex:3467: Kernel.range/3
        (elixir 1.11.2) expanding macro: Kernel.".."/2
        iex:1: (file)
    

  • 루비 수석 쓰는 방법은 컴파일 오류가되었습니다 1
  • iex> ~w(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
    ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
     "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
    
    iex> ~w(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) |> Enum.at(10)
    "K"
    



  • ~w 라고, 무엇일까? 쪽은 링크를 참조하십시오


  • 결론




    iex> (?A..?Z) |> Enum.at(10) |> (&<<&1>>).() 
    "K"
    
    iex> (?A..?Z) |> Enum.at(10) |> (fn c -> <<c>> end).()
    "K"
    
  • 무엇이든 pipe operator |> 로 써 버리고 싶은 증후군입니다
  • (&<<&1>>)
  • (fn c -> <<c>> end)
  • 은 같은 의미의 익명 함수입니다.

  • 더 간결하게 쓸 수 있어! 라는 것을 아시는 분 계시시면, 꼭 가르쳐 주세요

  • 참고


  • String - Integer code points
  • IEx(Elixir's Interactive Shel) 씨에게 가르쳐 주신 것
    iex> i "K"
    Term
      "K"
    Data type
      BitString
    Byte size
      1
    Description
      This is a string: a UTF-8 encoded binary. It's printed surrounded by
      "double quotes" because all UTF-8 encoded code points in it are printable.
    Raw representation
      <<75>>
    Reference modules
      String, :binary
    Implemented protocols
      Collectable, IEx.Info, Inspect, List.Chars, String.Chars
    
  • Raw representation<<75>> 에서 하하 되었습니다

  • Wrapping Up 🎍🎍🎍🎍🎍



  • Elixir공식 문서을 읽는 것이 가장 좋습니다
  • IEx(Elixir's Interactive Shel) 씨에게 듣는 것이 가장 빠른 경우도있을 것 같다
  • Enjoy Elixir



  • Range 은 정수가 지정될 것으로 기대합니다. htps : // 기주 b. 이 m/에ぃぃr-ぁんg/에ぃぃr/bぉb/v1.11.3/ぃb/에아ぃr/ぃb/랑게 에 x# L57-L66 

    좋은 웹페이지 즐겨찾기