답변:
이상한 이유로 Jolf가 충분하지 않거나 단순히 대처할 수없는 경우 JavaScript eval을 사용하는 것이 유용 할 수 있습니다. 이것은 두 가지 방법 중 하나로 발생할 수 있습니다.
내부의 모든 $...$
것은 문자 그대로 JS 트랜스 필 레이션으로 전달됩니다. 예를 들어로 +3$~$5
번역합니다 add(3, ~5)
. 마찬가지로 +3:~5
.
Jolf에서 JS 배열을 사용할 수 있습니다! 대개. 일종의 버그이지만 수정하지는 않겠습니다. 예를 들면 다음과 같습니다.
u[3*5,5/6,(3+4)/5]
다음으로 번역 :
sum([2 * 3, 5 / 3, (3 + 4) / 5]);
Jolf에는 변수를 "자동 할당"하는 여러 가지 방법이 있습니다. 표준은 γ
입니다. 다음 표현식의 값을받습니다. Β
동일하지만 다음 표현식을 숫자로 변환합니다.
또한, ζ
(zeta)는 -1/12
(이유를 추측 하여) 초기화 된 변수 이며 Ζ
(Zeta) 로 재 할당 할 수 있습니다 .
예를 들어, I
(입력 문자열)과 그 자체의 연산 을 비교하려고한다고 가정 해 봅시다 . 지금은 if를 보자 I + I = reverse(I + I)
. 이것은 일반적으로 다음과 같이 작성됩니다.
=+II_+II
그러나 이것은 다음으로 골프화 될 수 있습니다.
=γ+II_γ
현재로서는 문서화되지 않은 것들이 많이 m
있습니다. 그중 신비로운 모듈에는 많은 내장 기능이 있습니다. 그러나 그것들은 소스에 존재하기 때문에 일단 중단되면 읽기가 어렵지 않으므로 소스를 읽으십시오.
m
ysterious m
ATH 모듈.
m
오듈. (6 더 가기 ...)
모든 기능에는 arity가 있습니다. 예를 들어, +
당신이 (말) 5 개 요소를 추가하려는 경우, (2)의 인수에 대응을 가지고 있었다 5 + S를 사용 ... 또는 수행 +θ12345
. 구체적으로 특별히:
θ
함수의 arity를 3만큼 증가시킵니다.~θ
부모 함수 *+~θ345678
의 arity를 *
3 만큼 증가시킵니다. 따라서 3 의 arity를 증가시킵니다.M
기능의 arity를 2만큼 증가시킵니다.~M
부모 함수의 arity를 2만큼 증가시킵니다.;
기능의 arity를 1 씩 증가시킵니다.~;
부모 함수의 arity를 1만큼 증가시킵니다.η
함수의 arity를 1만큼 줄입니다.~η
부모 함수의 arity를 1만큼 줄입니다.\xad
부모 함수의 arity를 다음 문자의 charcode로 설정합니다.*+~θ
오버 의 장점은 무엇입니까 *θ+
?
~<char>
입니다.
o
값을 저장하는 데 사용Jolf는 다른 언어가 쉽고 짧은 참조를 위해 변수를 할당하는 방법과 유사합니다 o
.
예를 들어 oThx
입력에 1을 더한 값을 인쇄합니다.
이것은 쓸모없는 예이지만식이보다 복잡 hx
하면 심각한 바이트를 절약 할 수 있습니다.
또한 v"var name"<val>
다중 문자 변수 이름을 허용 V"var name"
하고 범위에서 변수를 가져옵니다.
설명해 주시고 이전 문장을 주신 Conor에게 감사드립니다.
v"var name"<val>
다중 문자 변수 이름 을 허용 V"var name"
하고 범위에서 변수를 가져옵니다.
o
할당 변수 가되는 말장난이었다