IEx의 신비한 움직임을 억제하는 놀라운

18786 단어 IEx.configureElixiriex
예를 들어, [10, 20, 30, 40, 50] 라는 리스트가 있었다고 해서, Enum.drop Erlang 유래라는 것입니다만, 개인적으로는 매우 기분 나쁘기 때문에 어떻게든 하고 싶다고 생각하고 있었는데, @im_miolab씨와 @twinbee씨의 기사가 있었으므로 개인적 정리로 했습니다. … 안쪽이 깊기 때문에 자세한 것은 문말의 참고 URL을

iex
iex> list = [10, 20, 30, 40, 50]
[10, 20, 30, 40, 50]
iex> Enum.drop(list, 0)
[10, 20, 30, 40, 50]
iex> Enum.drop(list, 1)
[20, 30, 40, 50]
iex> Enum.drop(list, 2)
[30, 40, 50]
iex> Enum.drop(list, 3)  [40, 50]と返ってきてほしい
'(2'
iex> Enum.drop(list, 4)  [50]と返ってきてほしい
'2'
iex> Enum.drop(list, 5)
[]

足し算するときちんと答えがかえってくる
iex> Enum.drop(list, 3) |> Enum.sum()
90

거기에 어리석은 것을 입력하면 해결됩니다.

iex
iex> IEx.configure(inspect: [charlists: :as_lists])

입력 후의 결과는 이하.

iex
iex> IEx.configure(inspect: [charlists: :as_lists])
:ok
iex> list = [10, 20, 30, 40, 50]
[10, 20, 30, 40, 50]
iex> Enum.drop(list, 0)
[10, 20, 30, 40, 50]
iex> Enum.drop(list, 1)
[20, 30, 40, 50]
iex> Enum.drop(list, 2)
[30, 40, 50]
iex> Enum.drop(list, 3)  ←期待どおり
[40, 50]
iex> Enum.drop(list, 4)  ←期待どおり
[50]
iex> Enum.drop(list, 5)
[]

매번 입력하는 것은 귀찮다고 생각하기 때문에 $HOME/.iex.exs 에 설정을 쓰거나 다른 설정 파일을 만들어 두고 IEx를 기동할 때에 읽어들일까 하는 것이 좋습니다.

bash
$ cat .iex.exs
IEx.configure(inspect: [charlists: :as_lists])

または

$ iex --dot-iex "IEx設定ファイルへのパス"


도움말은 이 근처를 읽으면 좋을까.

IEx
iex> h IEx.configure/1

IEx
iex> h Inspect.Opts



기본적으로 출력 제한은 50건입니다. IEx.configure(inspect: [limit: :infinity]) 명령을 입력하면 무제한입니다.

iex
iex> 1..100 |> Enum.map(& &1)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
 43, 44, 45, 46, 47, 48, 49, 50, ...]

iex> IEx.configure(inspect: [limit: :infinity])
:ok

iex> 1..100 |> Enum.map(& &1)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

참고


  • Elixir에서 큰 변수를 파일로 내보내기
  • Elixir에서 정수 목록이 "수수께끼의 문자"로 반환되는 현상과 문자열 및 문자 목록에 대해
  • 좋은 웹페이지 즐겨찾기