답변:
디버 보시 파이어를 사용한다는 것은 ASCII로 작성 ( --dv
또는 --deverbosify
디버 보 시즈 -v
또는 --verbose
자세한 코드로 실행) 할 수 있음을 의미합니다 . 또한 문자열을 압축하므로 압축 할 문자열이 너무 길면 일부 ASCII 기술 문제에 유용 할 수 있습니다.
@Neil 은 -vl
또는을 사용하는 것이 좋습니다 -v --sl
. --verbose --showlength
이의 줄임말은 장황한 숯으로 해석되고 일반 숯 코드의 길이가 표시됨을 의미합니다. 또한, 디버 보시 징 (deverbosifying)시, Charcoal은 일반적으로 구문 분석 오류를 무시하므로 출력이 입력이 실제로 올바르게 구문 분석되었는지 확인하십시오. 구문 오류 가 있으면 -a
( --astify
) 또는 --oa
( --onlyastify
)를 사용 하여 문제를 파악하십시오.
-v -sl
. 또한 디버 보 사이징 할 때 항상 구문 분석 오류가 발생하지 않으므로 출력을 확인하여 입력이 실제로 올바르게 구문 분석되었는지 확인하십시오.
예를 들어, 많은 명령에는 하나의 인수 만 필요합니다.
Rectangle
, Oblong
그리고 Box
단 하나의 인수가 주어지면 사각형을Reflect
명령은 기본적으로 오른쪽 반영Rotate
명령의 기본값은 시계 반대 방향으로 90 도입니다.Polygon
및 PolygonHollow
다 방향과 측면의 길이를 수용 할 수 있습니다. 모든 변의 길이가 같은 경우 사용할 수 있습니다.PolygonHollow
우연히 그 사실을 발견했습니다 . 여러 방향을 가질 수도 있지만 정상적인 화살표 앞에 와야합니다 (이 제한이 의도적인지 여부는 모르겠습니다). "Draw a cube"챌린지에 대한 답변으로 사용했습니다.
ReflectButterfly dls
을 요구할 ReflectButterfly
것이지만 (위키가 올바르게 문서로) 실제로 호출합니다 ReflectOverlap
.
다음은 간결한 그리스 문자와이를 나타내는 자세한 문자를 제공하는 데 사용할 수있는 모든 변수의 목록입니다.
α/a: The uppercase alphabet
β/b: The lowercase alphabet
γ/g: A string of all the ASCII characters from space to ~
δ/d: The fifth input
ε/e: The fourth input
ζ/z: The third input
η/h: The second input
θ/q: The first input
υ/u: An empty array
φ/f: 1000
χ/c: 10
ψ/y: The null character
ω/w: The empty string
입력이 충분하지 않으면 입력을 나타내는 변수가 비어 있지만 여기에 표시되지 않은 다른 모든 변수는 사용하기 전에 지정해야합니다.
y
및 f
다른 방법은 내가 붙여 넣은 것과 주위에? (원본을 썼을 때 그리스 문자를 잘못 읽었을 수도 있습니다.)
기본 반사 및 회전에는 많은 변형이 있으므로 미묘한 차이점이 무엇인지 알아야합니다. 테이블 키 :
/
가 될 수 있습니다 \
.| Command | Transform | Keep Original | Overlap |
|-------------------------|-----------|---------------|---------|
| Reflect | No | No | n/a |
| ReflectCopy | No | Yes | 0 |
| ReflectOverlap | No | Yes | 1 |
| ReflectOverlapOverlap | No | Yes | n |
| ReflectTransform | Yes | No | n/a |
| ReflectMirror | Yes | Yes | 0 |
| ReflectButterfly | Yes | Yes | 1 |
| ReflectButterflyOverlap | Yes | Yes | n |
반사 방향은 선택 사항입니다. 기본값은 오른쪽으로 한 번만 반영하는 것입니다. 원본을 유지하는 반사의 경우 여러 방향이 허용되며 각 방향에 대한 명령을 반복합니다. 예를 들어 ReflectMirror(:¬)
실제로 총 4 개의 사본이 만들어집니다.
커서는 반사와 함께 이동합니다 (원본을 유지하더라도).
| Command | Transform | Keep Original | Overlap |
|-------------------------|-----------|---------------|---------|
| Rotate | No | No | n/a |
| RotateCopy | No | Yes | 0 |
| RotateOverlap | No | Yes | 1 |
| RotateOverlapOverlap | No | Yes | n |
| RotateTransform | Yes | No | n/a |
| RotatePrism | Yes | Yes | 0 |
| RotateShutter | Yes | Yes | 1 |
| RotateShutterOverlap | Yes | Yes | n |
원본을 유지하는 회전에는 선택적인 회전 원점이 있습니다. 기본값은 캔버스의 오른쪽 하단입니다. 허용되는 값은 대각선 방향입니다.
회 전량 (45 ° 단위)은 선택 사항입니다. 기본값은 2입니다. 즉, 시계 반대 방향 (시계 반대 방향)으로 90 °입니다. 원본을 유지하는 회전의 경우 두 가지 대체 옵션이 있습니다. 여러 자릿수 정수는 각 자릿수에 대해 캔버스를 한 번 회전 한 다음 결과를 병합하도록 지정하는 반면 정수 목록은 각 회전에 대한 명령을 반복하고 방법에 따라 다양한 결과를 표시합니다 캔버스가 사이에서 바뀝니다.
Transform
의미합니까?
Transform
어딘가에서 답이 어떻게 작동 하는지 설명해야합니다 .
Sum
Sum
편리한 과부하가 많이 있습니다.
Join(..., "")
대신 사용하십시오..
문자를 포함하는 문자열에서는 숫자 의 합계를 가져옵니다.-
구분 기호로 간주 됨).마지막 두 규칙의 편리한 부작용 Sum
은 문자에 사용 하면 숫자 1-9
가 해당 값으로 변환되고 다른 모든 숫자 는 0과 달리 Cast
숫자가 아닌 값에 실패한다는 것입니다.
운이 좋더라도 Slice
문자열에서 첫 번째 문자를 슬라이스하는 데 2 바이트가 걸립니다 Slice(..., 1)
. 슬라이스 될 표현식이 숫자로 끝나고 분리자가 필요한 경우 또는 다음 코드를 표현식으로 해석 할 수있는 경우 Slice
추가 매개 변수로 소비하려는 경우 시간이 더 걸립니다 .
대신 Filter(..., k)
첫 번째 요소를 삭제하여 원하는 결과를 얻는을 사용하십시오. 식이 다른 루프 안에 중첩되어 있으면 적절한 루프 인덱스 변수를 사용해야합니다. 이것은 항상 2 바이트이며 주변 코드의 영향을받을 수 없습니다.