Clojure 배우기, 파트 IV
통사론
우리가 알고 있듯이 Clojure는 LISP이며 모든 방언에서 코드를 읽을 때 주의를 끄는 것은 괄호입니다. 사실, 우리가 LISP에 대해 이야기할 때 대부분의 코드는 우리가 형식 또는 표현이라고 부르는 괄호를 사용하여 작성됩니다(단순화를 위해 형식을 채택할 수 있음).
양식은 다음과 같이 구성됩니다.
Image: "Form composition" made by the author is copyleft material under unlicense.
연산자는 인수를 받고 결과를 생성하는 작업입니다.
...args는 연산자가 사용하는 하나 이상의 인수입니다.
실제로 LISP로서의 Clojure는 두 가지 구조만 지원합니다.
예를 들어 다음과 같은 양식을 입력할 때:
(+ 3 4 5)
=> 12
형식은 함수에 전달되는 인수인 연산자(함수 +)와 인수(3 4 5)로 구성되어 12를 생성합니다.
언뜻 보기에는 이상해 보일 수 있지만 Clojure(및 LISP)는 구문에 일관성이 있습니다. 누군가 Java로 프로그래밍할 때 연산과 피연산자에 따라 구문이 다른 연산이 있는 반면 Clojure에서는 모든 것이 항상 동일한 구조를 갖습니다.
평가
Clojure로 작업할 때 형식 인수의 일부가 다른 형식인 경우가 자주 있습니다. 예를 들면:
(+ 5 6 (- 8 4))
=> 15
더 복잡한 양식은 다음과 같이 평가됩니다.
Image: "Clojure form evaluation" made by the author is copyleft material under unlicense.
데이터
양식에 아포스트로피 '를 추가하면 양식이 데이터로 평가됩니다.
'(+ 1 2 3)
=> (+ 1 2 3)
양식이 데이터로 평가되면 컴퓨터는 이를 실행하지 않고 대신 코드 작업을 수행하는 데 사용할 수 있는 일반 이전 데이터로 반환합니다.
This is one of the main advantages of LISP dialects over most programming languages that are mainstream. In LISP there's a concept known as homoiconicity where code is data and data is code.
양식을 데이터로 취급하기 위해 아포스트로피를 사용하는 것을 인용부호라고 합니다. 우리가 양식을 인용할 때 그 안에 있는 모든 것은 무시되고 데이터를 포함하는 단순한 목록으로 취급됩니다(다음 주제는 목록이 될 것입니다).
클로저 퀘스트를 계속하자
이제 우리는 거의 시작하지 않는 코드를 엉망으로 만들기 시작했습니다. Clojure는 아직 보지 못한 훌륭한 언어이며 이 시리즈의 다음 게시물에서 이를 마스터하기 위한 탐구를 계속할 것입니다.
Reference
이 문제에 관하여(Clojure 배우기, 파트 IV), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cazevedo/learning-clojure-part-iv-16hl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)