コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
GizmoLab 関連
オンラインショップ
CAD&CGブログ
YouTube
GitHub
CAD 系
GizmoTools
AutoLISP
Visual LISP
BricsCADのLISP
GzLib
DCL
OpenDCL
DWG
DXF
CADのコマンド一覧
システム変数
図形の種類
Ver別サポートAPI
CAD用語集
メモ
newLISP
CommonLISP
Script-Fu
Inno setup
JavaScript
ANDROID
Windowsでのファイルハッシュ確認
Prolog
Python
Clojure
Electron
フォント
数学メモ
イメージサイズとメモリ量
blender
Processwire
Win10,11メモ
IIJmio
mediawiki資料
ヘルプ
検索
検索
表示
ログイン
個人用ツール
ログイン
NewLispのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
NewLisp
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
newLISP は、Lutz Mueller 氏が開発している LISPライクな汎用スクリプト言語です。 ちょっと使い込んでみようかなということで、ここは私的なメモとして公開しています。 ==Windows で使う場合== Windoows用のインストーラからインストールすると、newLISP のIDE用のアイコンが出来るのでそこから使ってもいいし、コマンドプロンプトで newlisp と入力して実行してもいい。 コマンドプロンプトからの利用で、複数行の記述をしたい場合は、 [cmd] (set 'a "a" 'b "bbb") (+ 1 2 3) [/cmd] といった風に [cmd] [/cmd] で挟んで記述する。 newLISP のIDEを使う場合、上がエディタ(コード)で下がプロンプトになる。[ALT]+R でコードを実行する。 ==情報源など== * 本家サイト(英語) : http://www.newlisp.org/ * 新リスプな日々 Johu's さんのブログ (日本語) : http://johu02.wordpress.com/ * 舌足らずなブログ : [http://lisperblog.blogspot.com/2010/02/newlisp.html newLISP基礎文法最速マスター] * 紫藤のwiki(日本語) : http://sites.google.com/site/shidoinfo/Home/programing-lang/%E9%96%A2%E6%95%B0%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E/lisp/%E6%A7%98%E3%80%85%E3%81%AAlisp%E6%96%B9%E8%A8%80/newlisp * newLISP ファンクラブフォーラム (英語) : http://newlispfanclub.alh.net/ * unbalanced-parentheses (英語) : http://unbalanced-parentheses.nfshost.com/ == 基本的なところ == * コメントは ";" か "#" を利用可能。複数行のコメントはない。 * リスト、シンボル、lambda、式 があるよ。 * リストの例 ** '() … 空リスト ** '(3) … 整数 ** '("こんにちは" "三河屋です") … 文字列2つのリスト ** '("こんにちは" 2 opt) … 文字列と整数とシンボルのリスト ** '((a b c) (1 2 3)) … リスト2つのリスト ** '("こんにちは" "三河屋です") … 文字列2つのリスト ** ドット対はないよ (list 'a 'b) > (a b) * シンボルの例 ** (set 'text "こんちは") … シンボルに値を割り当て ** text → "こんちは" … シンボルを評価すると"こんちは" ** mirrorman → nil … 未定義のシンボルを評価すると nil ** (set 'opt1 true 'opt2 nil) … opt1をtrue、opt2 を nil に。 ** true → true … true の評価は true (ブーリアンの true) ** nil → nil … nil の評価は nil (ブーリアンの false) * lambda 式 … あるよ (set 'f (lambda (n) (+ n n))) => (lambda (n) (+ n n)) ** fn はlambdaの代わりに使えるよ (set 'f (fn (n) (+ n n))) => (fn (n) (+ n n)) ** lambda はシンボルじゃなくて、特別なリスト扱い (length (lambda (n) (+ n n))) > 2 (first (lambda (n) (+ n n))) > (n) ** lambda 式は無名関数として使われるよね (apply (lambda (n) (+ n n) '(123)) > 246 (map (lambda (n) (+ n n) '(1 2 3)) > (2 4 6) ** シンボルに lambda 式を定義して関数として使えるよね (set 'double (lambda (n) (+ n n)) > (lambda (n) (+ n n) (double 123) > 246 ** もうちょっと短かく (define (doudle n) (+ n n)) > (lambda (n) (+ n n) (double 123) > 246 ==真・偽== * 真になるもの: 偽になるもの以外。 0や"" 空文字も真。 * 偽になるもの: nil、() 空リスト。 ==シンボルと関数の命名規則== # 変数シンボルは、次の文字から始まってはならない: #* # ; " ' ( ) { } . , 0 1 2 3 4 5 6 7 8 9 # + または - で始まる変数シンボルは、二文字目に数字を使うことはできない。 # 変数名の内部には、以下の文字を除く、どんな文字も許される: #* " ' ( ) : , 半角スペース #* これらは、変数シンボルの終りを意味する。 # [(左角括弧)で始まり、](右角括弧)で終わるシンボルは、右角括弧を除くどんな文字を含んでもよい。 * newLISP では適正なシンボル名の例 myvar A-name X34-zz [* 7 5 ()};] [俺] *111* ==日本語== * set-locale で現在のロケールを調べたり、変えられたりする。日本の場合、小数点の記号は標準と一緒の"."。 (set-locale "JPN") > ("Japanese_Japan.932" ".") (set-locale "DEU") > ("German_Germany.1252" ",") * newLISP の UTF-8 対応バージョンにするとUTF8関連の関数が使える。 以下、例 (utf8len "おれはジャイアン") > 8 ; utf8じゃない長さだと (length "おれはジャイアン") >24 * UTF-8 対応バージョンは、別配布なので別途DLして差し替えて使う。
このページで参照読み込みされているページ:
テンプレート:NewLISP
(
ソースを閲覧
)
NewLisp
に戻る。
検索
検索
NewLispのソースを表示
話題を追加