문제

취미 프로젝트를 위해 LFS 기반 Linux 배포판을 시작하려고합니다. 나는 매우 비표준 비표준 작업을 수행 할 계획이며, 대부분은 배포판의 거의 모든 스크립트를 변경해야합니다. (주로 Init Scripts이지만 간단한 패키지 관리자 스크립트 세트를 작성할 것입니다.) 저는이 표준에서 멀리 갈 것이기 때문에 역동적 인 유형 언어 (Perl, Perl, 파이썬, 배쉬 및 나머지는 좋지만 내 포트가 아닙니다), 나는 실제로 변수를 선언 한 해석 된 언어를 알고 있는지 궁금했습니다.

도움이 되었습니까?

해결책

좋아하는 쉘에서 "TEPESET"명령을 살펴보십시오. BASH 및 KSH93은 정수와 문자열을 시행하고 참조 (변수 변수) 등을 사용할 수 있습니다. KSH93의 경우 플로팅 포인트 수학을 수행하고 속성이있는 객체를 사용할 수도 있습니다. 정적 타이핑은 실제로 Init Scripts 및 이와 유사한 유용한 것을 구매하지 않습니다. 당신은 주로 파일을 읽고 시스템 명령을 실행할 것입니다. 이것이 쉘이 정말로 잘하는 것입니다. 다른 모든 유닉스가 어리석게 설계되었다고 결정하기 전에 O'Reilly "Korn Shell 학습"책과 시간을 내십시오 ...;)

다른 팁

일반적으로 정적으로 입력 한 언어는 컴파일 된 언어입니다. 그 이유는 유형의 정적 분석이 다소 비싸고 처리중인 모든 코드를 심도있게 살펴 봐야하기 때문입니다. 그렇게 한 후에는 모든 정보를 파일에 쓰지 않는 폐기물처럼 느껴져서 다음에 다시 할 필요가 없습니다. 그래서 당신은 빨리 편집 된 언어로 끝납니다.

반면에, 컴파일 된 언어를 "컴파일되지 않은"언어로 바꾸는 것은 다소 쉽습니다. 편집 결과를 어디서나 저장하지 않고 직접 실행합니다. 그런 래퍼를 제공하는 하나의 컴파일러는 GHC, 표준입니다. Haskell 컴파일러. 추가 할 수 있습니다 #!/usr/bin/runhaskell 소스 파일에 직접 실행하십시오. 그리고 당신은 표준에서 멀리 떨어져있을 계획이기 때문에 Haskell은 완벽한 것처럼 보입니다.). 그러나 모든 "컴파일 시간"분석 및 최적화는 무료가 아니기 때문에 스크립트에 대한 다소 큰 시작 시간을 기대하십시오.

Haskell은 쉘 스크립팅을 위해 만들어졌으며 기능적 언어이므로 전에 본 적이 없다면 익숙해지는 데 시간이 걸릴 수 있습니다. 그러나 구문 간접비가 거의 없으며 기능적 언어의 강점은 추상화이므로 쉘 스크립팅을 재미있게 만드는 라이브러리를 만들 수없는 이유는 모르겠습니다. 일부도 있습니다 실험적인 Haskell Shell, 그러나 그것은 실제 해결책보다 개념 증명 인 것 같습니다.

일반적으로 나는 모든 유형 분석의 오버 헤드가 중요하다고 말하지만, 좋아하는 정적으로 입력 한 컴파일 된 언어를 선택하고 같은 래퍼를 찾는 것이 좋습니다. runhaskell 작성된 스크립트를 실행합니다.

빠른 구글. F3, Javafx Script, Linden 스크립팅 언어 (Secdle Life를위한 스크립팅) 첫 번째 답변에 대한 의견과 달리 스크립팅 언어로 사용할 수 있습니다. http://blogs.msdn.com/chrsmith/archive/2008/09/12/scripting--f.aspx

Felix, Tuga, Cfgscript, Talc, Angelscript 및 그 빠른 검색 이상의 것이 있다고 추측합니다.

더글러스

에프# "타입 안전, 간결함, 성능, 수용성 및 스크립팅"의 조합을 제공합니다.

그루비. 기본적으로 그것은 동적, 오리 타자입니다. 정적 타이핑도 지원합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top