ros-init(1) ros-init(1)

ros-init - ایجاد یک اسکریپت roswell (اختیاراً بر پایه یک الگو)

ros init [TEMPLATE] NAME [ARGS...]]

نام یک الگو را مشخص می‌کند، که پیش‌فرض آن الگوی default است. با این حال، اگر TEMPLATE مشخص نشده باشد و FILENAME با یکی از الگوهای ذخیره‌شده مطابقت داشته باشد، به‌طور خودکار از آن الگو استفاده می‌کند. برای جلوگیری از این رفتار، باید صراحتاً TEMPLATE را برابر default مشخص کنید.

بنابراین هنگام استفاده از این دستور در یک اسکریپت شل به شما هشدار داده می‌شود. به منظور دستیابی به رفتاری یکدست و مطلوب، توصیه می‌شود که همیشه نام الگو صراحتاً مشخص شود.

نام فایل خروجی، یا “-” را برای اشاره به stdout مشخص می‌کند. هنگامی که TEMPLATE برابر default باشد، به‌طور خودکار نوع فایل “.ros” را پیوست می‌کند.

یک فایل roswell را بر پایه یک الگو مقداردهی اولیه می‌کند. الگوهای مشخص‌شده توسط کاربر را می‌توان با ros-template(1) اضافه کرد.

الگوی پیش‌فرض چیزی شبیه به این است:

#!/bin/sh
#|-*- mode:lisp -*-|#
#| <Put a one-line description here>
exec ros -Q -- $0 "$@"
|#
(progn ;;init forms
  (ros:ensure-asdf)
  ;;#+quicklisp (ql:quickload '() :silent t)
  )
(defpackage :ros.script.test.3703600390
  (:use :cl))
(in-package :ros.script.test.3703600390)
(defun main (&rest argv)
  (declare (ignorable argv)))
;;; vim: set ft=lisp lisp:

این در اصل یک اسکریپت شل است که بلافاصله Roswell را از طریق exec فراخوانی می‌کند (ببینید sh(1)). Roswell همان اسکریپت را به عنوان ورودی بارگذاری می‌کند، از کامنت‌های چندخطی صرف‌نظر می‌کند، باقی فایل را به عنوان یک برنامه Common Lisp می‌خواند، و در نهایت تابع main را با آرگومان‌های خط فرمان فراخوانی می‌کند.

sbcl(1) ros(1) ros-template(1)

تیم پروژه Roswell.