수색…


`recompile`으로 프로젝트를 다시 컴파일하십시오.

iex(1)> recompile
Compiling 1 file (.ex)
:ok

`h '문서를 보라.

iex(1)> h List.last

                                 def last(list)

Returns the last element in list or nil if list is empty.

Examples

┃ iex> List.last([])
┃ nil
┃
┃ iex> List.last([1])
┃ 1
┃
┃ iex> List.last([1, 2, 3])
┃ 3

마지막 명령의 값을`v`로 얻습니다.

iex(1)> 1 + 1
2
iex(2)> v
2
iex(3)> 1 + v
3

또한 : `v`로 행의 값을 얻으십시오.

이전 명령의 값을 'v'로 얻습니다.

iex(1)> a = 10
10
iex(2)> b = 20
20
iex(3)> a + b
30

행의 인덱스를 전달하는 특정 행을 가져올 수 있습니다.

iex(4)> v(3)
30

현재 행과 관련된 색인을 지정할 수도 있습니다.

iex(5)> v(-1) # Retrieves value of row (5-1) -> 4
30
iex(6)> v(-5) # Retrieves value of row (5-4) -> 1
10

이 값은 다른 계산에서 다시 사용할 수 있습니다.

iex(7)> v(2) * 4
80

존재하지 않는 행을 지정하면 IEx 에서 오류가 발생합니다.

iex(7)> v(100) 
** (RuntimeError) v(100) is out of bounds
    (iex) lib/iex/history.ex:121: IEx.History.nth/2
    (iex) lib/iex/helpers.ex:357: IEx.Helpers.v/1

IEx 콘솔 종료

  1. 종료하려면 Ctrl + C, Ctrl + C를 사용하십시오.
iex(1)>
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution
  1. Ctrl+ \ 를 사용하여 즉시 종료하십시오.

'i'로 정보보기

iex(1)> i :ok
Term
  :ok
Data type
  Atom
Reference modules
  Atom
iex(2)> x = "mystring"
"mystring"
iex(3)> i x
Term
  "mystring"
Data type
  BitString
Byte size
  8
Description
  This is a string: a UTF-8 encoded binary. It's printed surrounded by
  "double quotes" because all UTF-8 encoded codepoints in it are printable.
Raw representation
  <<109, 121, 115, 116, 114, 105, 110, 103>>
Reference modules
  String, :binary

PID 생성하기

이것은 이전 명령에서 PID를 저장하지 않았을 때 유용합니다

iex(1)> self()
#PID<0.138.0>
iex(2)> pid("0.138.0")
#PID<0.138.0>
iex(3)> pid(0, 138, 0)
#PID<0.138.0>

IEx를 시작할 때 별칭을 준비하십시오.

일반적으로 사용되는 별칭을 응용 프로그램의 루트에있는 .iex.exs 파일에 .iex.exs.iex.exs 때 해당 파일을로드합니다.

alias App.{User, Repo}

지속적인 역사

기본적으로 IEx 사용자 입력 내역은 여러 세션에서 지속되지 않습니다.

erlang-history 는 Erlang 쉘과 IEx 히스토리 지원을 추가합니다.

git clone [email protected]:ferd/erlang-history.git
cd erlang-history
sudo make install

이제 다른 IEx 세션에서도 위아래 화살표 키를 사용하여 이전 입력에 액세스 할 수 있습니다.

엘릭서 콘솔이 멈췄을 때 ...

때로는 실수로 쉘에서 무언가를 실행하여 영원히 기다리고 쉘을 막을 수 있습니다.

iex(2)> receive do _ -> :stuck end

이 경우 Ctrl-g을 누릅니다. 당신은 볼 수:

User switch command

순서대로 다음 명령을 입력하십시오.

  • k (쉘 프로세스를 죽이기 위해)
  • s (새 쉘 프로세스 시작)
  • c (새로운 쉘 프로세스에 연결하기 위해)

새로운 Erlang 셸로 끝납니다 :

Eshell V8.0.2  (abort with ^G)
1>

Elixir 셸을 시작하려면 다음을 입력하십시오.

'Elixir.IEx.CLI':local_start().

(마지막 점을 잊지 마라!)

그러면 새로운 Elixir 쉘 프로세스가 나타날 것입니다.

Interactive Elixir (1.3.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> "I'm back"
"I'm back"
iex(2)>

" #iex:break 따옴표, 괄호 등으로 인해" "more for input"모드에서 벗어나려면 #iex:break 입력하고 캐리지 리턴 ( )을 입력하십시오.

iex(1)> "Hello, "world"
...(1)>
...(1)> #iex:break
** (TokenMissingError) iex:1: incomplete expression
    
iex(1)>

위의 내용은 비교적 큰 스 니펫을 복사하여 붙여 넣으면 콘솔이 "more-for-more-input"모드로 전환 될 때 특히 유용합니다.

불완전한 표현에서 탈주하다

당신은 이러한 여러 문자열로 완료를 기대 IEX에 뭔가를 입력 할 때, IEX는 줄임표 (하도록 프롬프트를 변경하여 마무리 것이 기다리고 있음을 나타 내기 위해 프롬프트를 변경합니다 ... 이 아니라) iex .

표현식을 끝내기 위해 IEx가 기다리고 있지만 표현식을 종료하는 데 필요한 것이 확실하지 않거나 단순히이 입력 행을 중단하려면 #iex:break 를 콘솔 입력으로 입력하십시오. 이것은 던져 IEX의 원인이됩니다 TokenMissingError 표준 "최상위"콘솔 입력을 반환하고, 더 이상 입력을 기다리는 취소 할 수 있습니다.

iex:1> "foo"
"foo"
iex:2> "bar
...:2> #iex:break
** (TokenMissingError) iex:2: incomplete expression

자세한 정보는 IEx 문서 에서 확인할 수 있습니다.

IEx 세션에 모듈 또는 스크립트로드

엘릭서 파일을 가지고 있다면; 스크립트 또는 모듈을 현재 IEx 세션에로드하려면 c/1 메서드를 사용할 수 있습니다.

iex(1)> c "lib/utils.ex"
iex(2)> Utils.some_method

이렇게하면 IEx에서 모듈을 컴파일하고로드 할 수 있으며 공용 메서드를 모두 호출 할 수 있습니다.

스크립트의 경우 즉시 스크립트의 내용을 실행합니다.

iex(3)> c "/path/to/my/script.exs"
Called from within the script!


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow