문자열 배열을 길이 및 오십 음순으로 정렬 (Elixir)

7196 단어 Elixir

소개



  • @ 츠카다 _cs 님의 문자열 배열을 길이 & 오십 음순으로 정렬 을 보았습니다.
  • 튜플 비교에 대한 이해가 깊어졌습니다

  • IEx

  • Elixir1.10.4 를 사용하고 있습니다
  • 한순간 어떻게 해야할지 몰랐지만 Elixir 으로 쓰여진 원래 기사를 참고로 써 보면 같은 결과를 얻을 수 있었습니다
  • iex> words = ["にほん", "あめりか", "ろしあ", "ふらんす", "いたりあ", "ちゅうごく", "しんがぽーる", "おーすとらりあ", "たい", "ちり", "どいつ", "いぎりす"]
    
    iex> Enum.sort_by(words, fn word -> {String.length(word), word} end)  
    ["たい", "ちり", "どいつ", "にほん", "ろしあ", "あめりか",
     "いぎりす", "いたりあ", "ふらんす", "ちゅうごく",
     "しんがぽーる", "おーすとらりあ"]
    
    iex> Enum.sort_by(words, &({String.length(&1), &1}))                
    ["たい", "ちり", "どいつ", "にほん", "ろしあ", "あめりか",
     "いぎりす", "いたりあ", "ふらんす", "ちゅうごく",
     "しんがぽーる", "おーすとらりあ"]
    
  • 튜플의 비교란 무엇일까라고 생각해 조사했는데, 이쪽에 은근하게 기재가 있었습니다

  • 파이썬


  • The collection types are compared using the following rules:
    - Tuples are compared by size, then element by element.

    사이즈가 큰 것이 크고, 사이즈가 같으면 각 요소의 비교가 될거야 (선두부터 결착이 붙으면 그것이 비교 결과)라고 말하고 있습니다.


    iex> {0, 0, 0} > {10000000}
    true
    
    iex> {1000000000} > {-1, -1}
    false
    
    iex> {0, -100} > {-1, -1}         
    true
    

    Wrapping Up


  • 튜플 비교를 배웠습니다
  • Enjoy Comparison operators !!!
  • 좋은 웹페이지 즐겨찾기