SBCL(Steel Bank Common Lisp) 스크립트 시작 노트
우선, 호출 스크립트가 필요합니다. 파일 이름은sign입니다.lisp.안의 내용은 매우 간단하지만 다른 시스템sign에 의존해야 한다.lisp:
(in-package :cl-user)
(require :cl-163-music)
(multiple-value-bind (res0 res1)
(cl-163-music:daily-sign "username" "password")
(format t "~A ~% ~A ~%" res0 res1))
그리고 셸에서 sbcl를 호출해서 sign을 불러옵니다.lisp
#!/usr/bin/env sh
PATH="/Users/nero/devel/shell/163.music.sign/"
SBCL_PATH="/Users/nero/tanshuai/sbcl/bin/"
${SBCL_PATH}sbcl --noinform --core ${PATH}core --script ${PATH}sign.lisp
셸도 간단하지만
--core
옵션이 있습니다.자, 포인트가 왔습니다. 코어 파일은 무엇입니까?어떻게 생성되었습니까?core 파일은 환경 이미지 파일로 스크립트의 의존을 해결하고 실행 시 환경 패키지를 제공하며 실행 시 모든 상태를 포함한다. 우리는 모든 필수 조건을 불러온 후
sb-ext:save-lisp-and-die
로 생성된 이미지 파일을 불러올 수 있다.cl-163-music는 asdf 구조에 부합되기 때문에 이곳에서 나는lisp의 삼자 관리 패키지
quicklisp
(python의 pip,nodejs의 npm 등과 유사하여 어떻게 설치했는지 여기에서 설명하지 않음)를 사용했다.quicklisp는 자동으로 asdf 프로젝트를 관리하여cl-163-music의 의존을 해결할 것이다.cl-163-뮤직은 자체 로컬 프로젝트이며sign.lisp리(require :cl-163-music)
의 필요로 인해 거울을 생성하기 전의 필요(push #P"/Users/nero/devel/lisp/cl-163-music/" asdf:*central-registry*)
.여기까지 모든 작업이 끝났습니다. 여기에 에피소드가 하나 있습니다. 제가 운행할 때 오류가 발생했습니다.ASDF could not load cl-163-music because
Don't know how to REQUIRE sb-rotate-byte.
See also:
The SBCL Manual, Variable *MODULE-PROVIDER-FUNCTIONS*
The SBCL Manual, Function REQUIRE.
Unhandled SB-INT:EXTENSION-FAILURE in thread #:
Don't know how to REQUIRE sb-rotate-byte.
See also:
The SBCL Manual, Variable *MODULE-PROVIDER-FUNCTIONS*
The SBCL Manual, Function REQUIRE
... ...
...
해결 방법은 sbcl 환경에 다시 들어가서
(require "sb-rotate-byte")
실행한 다음에 다시 거울을 생성하는 것이다.ps: 단점은 거울 파일이 너무 커서 약 50MB가 넘는다.
출석 작은 기능:cl-163-music
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.