問題タブ [newlisp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scripting - newlisp は何のために使うのですか?
あなたはnewlispを使っていますか?何に使ったの?
utf-16 - NewLISP を使用して中国語のファイル名の属性を見つけるには?
次の NewLISP コードは、Win32 でのファイルのファイル属性を示しています。ただし、取得されたファイル名の一部には、名前に漢字が含まれています。GetFileAttributesA 関数がそれらを検出すると、属性に -1 が返されます。GetFileAttributesW を見ましたが、関数が認識する形式で fname の内容を関数で使用できるようにする方法がわかりません。
この状況をどのように処理しますか?(私は別の言語を試してみたいと思っています)
macos - newLISP で書かれたアプリケーションを単一の実行可能な OSX アプリにラップする
私が知る限り、newLISP スクリプトを newLISP バイナリに「リンク」して配布し、単一ファイルの実行可能ファイルを作成することは可能であり、許可されています。ここで、newLISP で提供される newLISP IDE によく似た、newLISP gui サーバーを使用するアプリケーションに対してこれを実行したいと考えています。これに関連していくつか質問があります。
そのようなアプリを構築し、newLISP IDE のようにラップするために何が必要か知りたいですか?
パッケージの内容を調べたところ、GUI サーバーを使用/実行するための Java 関連のものがあるようです。だから、私もこのようなものが必要になると思います。アプリと一緒に配布してもいいですか?
newLISP IDE のパッケージにある README には、IDE にはアプリケーション パッケージの外にインストールされたものが必要であると書かれています。これは、IDE の Lisp スクリプトが newLISP バイナリに対してリンクされていないためだと思いますか?
ありがとう!
アップデート
newLISP-GS の「アプリ」をさらに調査した結果、わかりません。newLISP-GS が単なる GUI サーバーではない場合は ... ? とにかく私の質問はまだです: GUI サーバーを含む newLISP アプリケーションの単一ファイルの実行可能ファイルを作成するにはどうすればよいですか? また、それを配布することは許可されますか?
lisp - newLISP でラムダ内のマクロをバインドする方法は?
だから私はこの機能を持っています:
(lambda () ...)
何度も何度も言う必要を避ける「ヘルパー」マクロを作成したいと思いset
ますsetq
。
ただし、lambda
はその引数を遅らせるため、上記のプログラムは機能しません。try-block
内部eval
は a の内部にあるため、評価されるまでには空lambda
です。
この機能を正しく実装するにはどうすればよいですか?
memory-management - newLISPはガベージコレクションを使用しますか?
このページは私にとって非常に混乱しています。
それは言う:
newLISPのメモリ管理は、ガベージコレクションアルゴリズムに依存していません。メモリはマークされておらず、参照カウントもされていません。代わりに、新しく作成されたメモリオブジェクトを削除するかどうかの決定は、メモリオブジェクトが作成された直後に行われます。
newLISPは、1つの参照のみ(ORO)のルールに従います。シンボルによって参照されていないすべてのメモリオブジェクトは、式の評価中にnewLISPがより高い評価レベルに達すると、廃止されます。newLISP内のオブジェクト(シンボルとコンテキストを除く)は、値のコピーによって他のユーザー定義関数に渡されます。その結果、各newLISPオブジェクトは1つの参照のみを必要とします。
さらに下に、私は見る:
すべてのリスト、配列、および文字列は、参照によって組み込み関数に出入りします。
私はこれらの2つを理解することはできません。
newLISPが「ガベージコレクションアルゴリズムに依存しない」のに、参照によって物事を渡すにはどうすればよいでしょうか。
たとえば、循環参照の場合はどうなりますか?!
LISPがパフォーマンスを低下させずにガベージコレクションを使用しないことさえ可能ですか?(常に値で渡すことができるか、必要と思われるときはいつでもフルヒープスキャンを実行できると思いますが、そうすると、パフォーマンスがめちゃくちゃ損なわれるように思えます。)
もしそうなら、どのようになりますか?循環参照を扱いますか?そうでない場合、それらはどういう意味ですか?
ecl - newlispの階乗について
ECLとnewlispを使用してfacorial関数を実行します。
ECL:
newlisp
newlispがeclで異なる結果を返すのはなぜですか?
newlisp - newLISP: 連想リストの変更
連想リストのエントリの変更に問題があります。このコードを実行すると
例A
結果は次のとおりです。
これは期待されています。このコードで
例 B
結果は次のとおりです。
Dict
2 番目のケースで が更新されないのはなぜですか?
編集
私が望むのは、エントリがにあるかどうかを確認し、あるDict
場合は更新し、そうでない場合はそのままにしておくことです。コードの重複をletn
避けたい
lisp - 一致するものが見つかった場合は、テキスト行を返します
一致するものが見つかった場合にテキスト行を返す方法を理解するのに問題があります。
戻り値
("20:AA:4B")
だから私はコードが「機能する」ことを知っています
しかし、私はテキストの全行を取得したい
"20:AA:4B Cisco-Li # Cisco-Linksys, LLC"
newlisp - newLISP 使用時に TCP 経由でバイト配列を送信する方法
ビッグエンディアンの unsigned short を表す 2 バイトを TCP 経由でサーバーに送信したいと考えています。ただし、net-send は文字列パラメーターのみをサポートします。newLISP でこれを行う方法を誰か教えてもらえますか?