Jolf에서의 골프 팁


12

Jolf 는 @ CᴏɴᴏʀO'Bʀɪᴇɴ가 만든 절차적인 골프 언어입니다.

Jolf에서 골프를 즐기기위한 팁이 있습니까?

답변 당 하나의 팁을 게시하십시오.

이 팁은 적어도 Jolf에 대해 다소 구체적이어야합니다. 예를 들어 주석 제거는 답이지만 아주 좋은 것은 아닙니다.


사이트에 오신 것을 환영합니다 . 자세한 내용 은 요청 방법 페이지 및 둘러보기 페이지를 참조하십시오.
Rɪᴋᴇʀ

답변:


4

자바 스크립트 폴백

이상한 이유로 Jolf가 충분하지 않거나 단순히 대처할 수없는 경우 JavaScript eval을 사용하는 것이 유용 할 수 있습니다. 이것은 두 가지 방법 중 하나로 발생할 수 있습니다.

1. 설계 평가

내부의 모든 $...$것은 문자 그대로 JS 트랜스 필 레이션으로 전달됩니다. 예를 들어로 +3$~$5번역합니다 add(3, ~5). 마찬가지로 +3:~5.

2. 배열 평가

Jolf에서 JS 배열을 사용할 수 있습니다! 대개. 일종의 버그이지만 수정하지는 않겠습니다. 예를 들면 다음과 같습니다.

u[3*5,5/6,(3+4)/5]

다음으로 번역 :

sum([2 * 3, 5 / 3, (3 + 4) / 5]);

1
이상한 이유로 Jolf가 충분히 골프라면 (...?)
Outgolfer Erik

@EriktheOutgolfer는 ** 아닙니다
Conor O'Brien

7

자동 할당 변수를 알고 있어야합니다!

Jolf에는 변수를 "자동 할당"하는 여러 가지 방법이 있습니다. 표준은 γ입니다. 다음 표현식의 값을받습니다. Β동일하지만 다음 표현식을 숫자로 변환합니다.

또한, ζ(zeta)는 -1/12(이유를 추측 하여) 초기화 된 변수 이며 Ζ(Zeta) 로 재 할당 할 수 있습니다 .

예를 들어, I(입력 문자열)과 그 자체의 연산 을 비교하려고한다고 가정 해 봅시다 . 지금은 if를 보자 I + I = reverse(I + I). 이것은 일반적으로 다음과 같이 작성됩니다.

=+II_+II

그러나 이것은 다음으로 골프화 될 수 있습니다.

=γ+II_γ

-1/12 제타는 문자열 이론과 관련이 있습니까? 나는 모든 자연수를 더하고 -1/12를 얻는 방법을 알고있다
DeepDeadpool

1
@GheyPhistor 어떤 문자열 이론? 그러나 자연수에 대한 제타 함수는 -1/12입니다.
Conor O'Brien

6

사용하다 @

@소스 코드에서 다음 문자를 가져와 해당 문자의 코드 포인트를 반환하는 명령입니다. (예를 들어, @X88을 반환합니다.) 이것은 0에서 255 사이의 숫자를 2 바이트로 표현할 수 있기 때문에 매우 유용합니다.


"100과 255 사이"
Leaky Nun

@KennyLau Jolf에서 10실제로 숫자 1는 숫자가 0아니라 숫자 10이므로 10-255와 비슷합니다.
스파게티

감사합니다 ..
Leaky Nun

4

소스를 읽으십시오

현재로서는 문서화되지 않은 것들이 많이 m있습니다. 그중 신비로운 모듈에는 많은 내장 기능이 있습니다. 그러나 그것들은 소스에 존재하기 때문에 일단 중단되면 읽기가 어렵지 않으므로 소스를 읽으십시오.


1
mysterious mATH 모듈.
Conor O'Brien

1
m오듈. (6 더 가기 ...)
Leaky Nun

2

기능 Arity 증가

모든 기능에는 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로 설정합니다.

*+~θ오버 의 장점은 무엇입니까 *θ+?
user253751

@immibis이 경우는 없으며 단지 예시 일뿐입니다. Jolf에는 구문 분석시 두 가지 함수를 전달하는 함수가 있습니다. 그런 다음 최상위 함수의 arity에 액세스하는 유일한 방법은을 사용하는 것 ~<char>입니다.
Conor O'Brien

2

암시 적 입력 활용

함수에 인수가 충분하지 않으면 나머지 인수에 대한 입력을 찾습니다. 예를 들면 다음과 같습니다.

+uz

번역 할 것 :

add(sum(unaryRange(x)), x)

그것은 동등하다

+uzxx

1

o값을 저장하는 데 사용

Jolf는 다른 언어가 쉽고 짧은 참조를 위해 변수를 할당하는 방법과 유사합니다 o.

예를 들어 oThx입력에 1을 더한 값을 인쇄합니다.

이것은 쓸모없는 예이지만식이보다 복잡 hx하면 심각한 바이트를 절약 할 수 있습니다.

또한 v"var name"<val>다중 문자 변수 이름을 허용 V"var name"하고 범위에서 변수를 가져옵니다.

설명해 주시고 이전 문장을 주신 Conor에게 감사드립니다.


또한 v"var name"<val>다중 문자 변수 이름 을 허용 V"var name"하고 범위에서 변수를 가져옵니다.
Conor O'Brien

@ CᴏɴᴏʀO'Bʀɪᴇɴ 아, 그래서 그들이하는 일입니다. 게시물에 추가
Rɪᴋᴇʀ

2
o이 팁에 대한 Thx : P
Downgoat

@ EᴀsᴛᴇʀʟʏIʀᴋ 그것은 o할당 변수 가되는 말장난이었다
Conor O'Brien

@ CᴏɴᴏʀO'Bʀɪᴇɴ o, yeah ....
Rɪᴋᴇʀ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.