나는 scheme에 대한 인터프리터를 쓰려고합니다. 지금까지 나는 if와 some arithmetic expressions을 정의하고 구현했다. 여기 <s6> -> <expr>
| <define>
<expr> -> NUMBER
| IDENT
| <if>
| <let>
<define> -> (define
gtim과 함께 mattn에서 gist-vim을 사용합니다. 훌륭하게 작동하지만 모든 내용은 내 홈 디렉토리에있는 인증 토큰에 감사하지 않습니다. 그래서 나는 plugin files에서 살펴보기 시작했고, dev가 expand('~/.gist-vim')으로 설정 한 s:configfile이라는 변수를 발견했습니다. 내 토큰의 위치를 변경하려면 에 let
난 함수 내가지도를 다른 곳에서 사용하거나 감소 (defn func1 [c1 c2]
(fn [x1 x2]
...do some stuff with c1 c2 x1))
로 평가되는 기능이있는 경우, 더 나은 인라인에게 (defn func2 [x y z]
(reduce (func1 x y) z (range 20)))
나에를 사용
(define key
(lambda (w)
(reverse w)
(if (null? w)
0
(let ((k 33))
(+ (* (ctv(car w)) k) (key (cdr w)))
))))
이 같은 일을 출력에 영향을 복용하지 않는 : 내 말은 반전 한 후 계산되지 않은 이유는 (define
작동하지 않습니다). 모두 잘 작동합니다! 그러나 이제는 관련된 함수 이름 생성을 자동화하고 싶습니다. 따라서 매크로의 모든 내부 구조를 간단한 구조 함수를 정의하는 에 넣습니다. 아래 코드에서 get- 기능 이름 만 해당 자동화로 생성된다는 점에 유의하십시오. set- 및 call-은 여전히 수동 냄새가 있습니다. (defmacro create-dis
동일한 LET 변수를 사용하는 여러 LINQ 쿼리가 있는데, 어떻게 든 미리 정의하고 싶습니다. IQueryable<RouteQueryModel> query =
(from b in db.routes
let avg_rating = b.ratings.Any() ?
b.ratings.Select(r => r.rating1).Avera