엘릭서 파트 III와 함께 여정을 시작합니다. 시간, 혼합 작업, IEx, 오류, 실행 파일.

마지막 부분에서 쓴 것처럼 이 기사에서는 날짜와 시간, 사용자 정의 혼합 작업, iex, 오류 처리 및 실행 파일에 대한 자세한 내용을 다룹니다. 다음 파트에서는 ​​기본 지식의 실제 사용에 초점을 맞추겠지만 지금은 제 프레젠테이션에 포함된 문제에 익숙해지기를 권장합니다 😉



1.날짜와 시간



-시간
모듈 사용 방법의 예:

현재 시간 가져오기:

iex> Time.utc_now
~T[00:57:02.826573]


보세요. ~T는 제가 파트 2에서 설명한 시질입니다.

그래서 인장에 대한 우리의 지식을 사용하고 시간 구조를 만들어 봅시다.

iex> time = ~T[20:34:23.754335]
~T[20:34:23.754335]
iex> time.hour
20
iex> time.second
23


-날짜

실제 날짜 얻기:

iex> Date.utc_today
~D[2021-02-20]



그럼 날짜 구조를 만들어서 실전에서 사용해보자

iex> {:ok, date} = Date.new(1023,5,24)
{:ok, ~D[1023-05-24]}
iex > Date.leap_year? date
false


-NaiveDateTime

NaiveDateTime 구조체에는 연도, 월, 일, 시, 분, 초, 마이크로초 및 달력 필드가 포함되어 있습니다. 이에 대한 자세한 내용을 읽을 수 있습니다here.

예:

iex> NaiveDateTime.utc_now
~N[2021-02-20 01:18:10.218303]
iex> NaiveDateTime.diff(~N[2018-04-17 14:00:00], ~N[1970-01-01 00:00:00])
1523973600 <- result in seconds



-날짜 시간

이 모듈은 날짜 및 시간대를 지원합니다.

예시:

iex> DateTime.from_naive(~N[2013-04-21 11:25:02.0034], "Etc/UTC")
{:ok, ~U[2013-04-21 11:25:02.0034Z]}


더보기: link1 , link2

2.맞춤형 믹스 작업



1. '새 앱 혼합'으로 새 앱 만들기
2. 새 디렉토리 newTask/lib/mix/tasks/task.ex를 만듭니다.
3. task.ex에서 생성module
4. '믹스 태스크'로 사용

3.IEx



모듈이 그것에 관한 문서를 얻기 전에 h, 데이터 유형에 대한 i 정보, r - 특정 모듈 재컴파일, t - 주어진 모듈에서 사용 가능한 유형에 대한 정보를 얻을 수 있습니다.

iex> h Enum
Provides a set of algorithms to work with enumerables.

In Elixir, an enumerable is any data type that implements the Enumerable
protocol. Lists ([1, 2, 3]), Maps (%{foo: 1, bar: 2}) and Ranges (1..3) are
common data types used as enumerables: ...
iex> i Map
Term
  Map
Data type
  Atom ...
iex> t Map
@type key() :: any()
@type value() :: any()



4. 오류 처리



오류가 발생하면 Elixir는 튜플 {: error, reason}을 반환합니다. 오류를 만드는 가장 간단한 방법은 raise를 사용하는 것입니다.

iex> raise "Error"
** (RuntimeError) Error


기본적으로 RuntimeError를 발생시키도록 설정되어 있지만 변경하려는 경우 간단한 방법으로 변경할 수 있습니다: raise typeoferror, message: "lorem ipsum" , 예:

raise ArithmeticError, message: "bad argument in arithmetic expression"


시도 구조 후
오류를 처리하는 것은 간단한 구성이므로 다음 예제를 읽고 이해하시기 바랍니다.

iex> try do
...>   raise "err"
...> rescue
...>   e in RunTimeError -> IO.puts("Msg:" <> e.message)
...> after
...>   IO.puts "End"


나만의 오류 만들기

defmodule NewError do
  defexception message: "an error has occurred"
end


5. 실행 파일


_File.chmod(pat_file,0o755)(755는 파일에 대한 권한)_으로 Elixir에서 파일을 실행 가능하게 만들 수 있습니다.

실행 파일 프로젝트를 빌드하려면 escript 을 사용할 수 있습니다.

만나요👋

좋은 웹페이지 즐겨찾기