더 많은 일을 할 수있는 더 짧은 프로그램을 위해 향상된 GolfScript를 작성할 계획입니다. 이것은 도전이 아닙니다. 그것은 내가해야 할 일에 대한 피드백과 팁을 요청합니다. (태그 참조)
커뮤니티 Wiki인지 확실하지 않습니다. 그렇게 생각하면 중재자에게 플래그를 지정하여 변환하십시오. :)
이 언어는 GolfScript와 매우 유사합니다. 여전히 루비로 작성되었습니다. 그러나 몇 가지 차이점이 있습니다.
`
드문 문자이기 때문에 문자열 구분 기호로 사용 하므로 이스케이프 처리가 덜 필요합니다. (다른 문자는#
(나중에 더 자세히 설명 )과 같이 해당 기능을 대체 할 수 있습니다 .\`
백틱\\
을 이스케이프하고 백 슬래시를 이스케이프하고 다른 이스케이프 시퀀스가 없습니다. 줄 바꿈이 필요한 경우 문자열에 실제 리터럴 줄 바꿈을 붙이십시오.Rational
GolfScript의 주요 결함 중 하나 인 임의의 정밀 부동 소수점에 Ruby를 사용 합니다.- 유형을 다른 유형으로 변환하는 기능 예를 들어 블록을 문자열로 변환 할 수 있습니다.
- 정규식. 로 만들었을 것입니다
"..."
. 연산자도 오버로드됩니다. 예를 들면 다음과 같습니다"\W"~{`Invalid: non-word character`}{`OK`}if
. 블록과 같은 변수에서 푸시하면 자동으로 실행됩니다. - GolfScript에서는 불가능했던 더 많은 작업을 수행하기위한 File 및 Date 개체. 이것에는 리터럴이 없지만
`file.txt`fl
(파일 작성 기능의 이름이 변경 될 수 있음) 과 같이 문자를 초기화하는 기능이 있습니다. - 어쩌면 해시지만 확실하지 않습니다. 내가해야합니까?
- 도우미 기능은 더 많은 기능을 수행합니다. 예를 들어,
`http://example.com`net
네트워크 액세스의 경우 (다시net
운영자 이름이 변경 될 수 있음).rb
문자열을 Ruby 코드로 실행합니다. 더 많은 것들이있을 것입니다. 제안을 환영합니다. - 의견이 없으므로
#
다른 용도로 사용할 수 있습니다. 당신이 의견을 원한다면`comment here`;
잘 작동합니다. ( 의 기능을#
대체 할 수 있음`
) - 함수를 추가하기가 훨씬 쉬운 방식으로 완전히 다시 작성됩니다. 기본적으로 코드는 더 읽기 쉽습니다. (GolfScript 소스를 보셨습니까?
:/
) - Github에있을 것이므로 협업 적으로 작업 할 수 있습니다. MIT 또는 그 아래에 라이센스를 부여합니다.
- 마지막 줄 바꿈이 없으므로 cheaty quines 작업 : P
그리고 나는 그것들이 가장 과감하고 유용한 변화라고 생각하기 때문에 이것을 구별하고 있습니다 (부동 소수점 추가 제외).
- 많은 Ruby 함수가 내장되어 있습니다. 예를 들어
shuffle
(약칭 할 수 있음sf
) (이전에 9 자 사용 ),tr
(이전 14 자 ),sample
(sm
, 이전.,rand=
),flatten
(fl
, 이전 ???) 등 - Rebmu처럼 숨겨 질 것입니다. 예를 들어, 이제 정렬 기능을 덮어 쓰는
~:a0<{0a-}aIF
대신~:$0<{0$-}$if
( 문자 변수 이름을 사용하여) 수행 할 수 있습니다 . ( 여기에서 예 ). 이 방법은 대소 문자를 구분하지 않으며 변수 이름에는 숫자를 사용할 수 없습니다. 골프 언어이기 때문에 이것은 내 의견으로는 괜찮습니다. : P - 디버깅이 필요합니다. 배열 구분 기호, 요소 구분 기호 등을 지정하는 플래그, 숫자 출력 (합리적, 부동 또는 int?)을 지정하고 한 번에 하나씩 명령을 단계별로 실행하고 프로그램을 실행하는 대신 각 토큰을 토큰 화하고 출력하는 기능을 추가합니다. 기타
그래서 내 질문은 : 개선해야 할 것이 무엇입니까? 무엇을 추가해야한다고 생각하십니까?
코딩을 시작하기 전에 다른 아이디어가 있습니까?