コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「Lush (プログラム言語)」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Cewbot (会話 | 投稿記録)
m Bot作業依頼: sourceタグをsyntaxhighlightタグに置換 (Category:非推奨のsourceタグを使用しているページ) - log
Cewbot (会話 | 投稿記録)
m Bot作業依頼: sourceタグをsyntaxhighlightタグに置換 (Category:非推奨のsourceタグを使用しているページ) - log
46行目: 46行目:
====値の設定と参照====
====値の設定と参照====


<source lang="lisp">
<syntaxhighlight lang="lisp">
? (defvar m (matrix 2 3)) ;; 多次元配列の定義
? (defvar m (matrix 2 3)) ;; 多次元配列の定義
= ()
= ()
58行目: 58行目:
? (m 1 2) ;; 要素 (1,2) の値を表示
? (m 1 2) ;; 要素 (1,2) の値を表示
= 5
= 5
</syntaxhighlight>
</source>


====スライス====
====スライス====


<source lang="lisp">
<syntaxhighlight lang="lisp">
? (select m 1 2) ;; 1次元目の方向での二つ目のスライスを選択
? (select m 1 2) ;; 1次元目の方向での二つ目のスライスを選択
= [ 0.00 5.00 ]
= [ 0.00 5.00 ]
68行目: 68行目:
= [[ 0.00 0.00 ]
= [[ 0.00 0.00 ]
[ 0.00 5.00 ]]
[ 0.00 5.00 ]]
</syntaxhighlight>
</source>


====リスト====
====リスト====
配列は、その配列と同じ構造を持ったリストに変換でき、またリストから配列を生成することもできる。
配列は、その配列と同じ構造を持ったリストに変換でき、またリストから配列を生成することもできる。
<source lang="lisp">
<syntaxhighlight lang="lisp">
? (m () () (range 6))
? (m () () (range 6))
= [[ 1.00 2.00 3.00 ]
= [[ 1.00 2.00 3.00 ]
78行目: 78行目:
? (m () ())
? (m () ())
= ((1 2 3) (4 5 6))
= ((1 2 3) (4 5 6))
</syntaxhighlight>
</source>


== 参照 ==
== 参照 ==

2020年7月6日 (月) 00:30時点における版

Lush
作者 Leon Bottou、Yann LeCun、Jie Huang Fu.
開発元 Various
初版 1980年代初頭
最新版
2.0.1[1] / 2011年3月12日 (13年前) (2011-03-12)
リポジトリ ウィキデータを編集
対応OS POSIX 準拠の複数のオペレーティングシステム
プラットフォーム クロスプラットフォーム
対応言語 Common Lisp
種別 インタープリタ
ライセンス パブリック・ドメイン
公式サイト http://lush.sourceforge.net/
テンプレートを表示

LushLISPオブジェクト指向の機能を加えた言語処理系であり、機械学習ソフトウェアのためのスクリプト言語として開発された。機械学習には数値計算によるもの、GUI を備えるものなど多数合ったが、Lush はより汎用であり、オペレーティングシステムなどのシステム寄りの記述もでき、ネットワーク・プログラミングや計算機管理といったアプリケーションにも対応している。Lush で書かれたプログラムはC言語に変換され、多次元配列処理エンジンが組み込まれる。Lush の開発はオープンソースプロジェクトとして続けられており、GPL にしたがった利用、配布が認められている。Lush には、多くのライブラリ (ALSABLASFFTWGNU Scientific Library(GSL)、HTKLAPACKMPIOpenGLOpenCVSDLVideo4Linux など) を利用するためのインターフェイス (C言語および Lush 自身で書かれている) が用意されている。Lush プロジェクトの創始者 Léon BottouYann LeCun は、実行環境として POSIX 準拠のシステム(BSDUNIX系のオペレーティングシステム)、LinuxSolarisIRIX を想定し、Sourceforge で開発を続けている。言語の名前「Lush」は「LISP統合シェル」を意味する英語の「LISP universal shell」に由来する。

機能

ヘルプ

Lush はコマンドライン・インターフェイスでの対話的な動作により、簡便な入出力ができる。

ヘルプを表示するには、コマンドライン・インターフェイスで以下のようにする。

? (helptool)

ディスプレイ上にマニュアルやチュートリアルを表示するウィンドウが開かれる。

コマンドライン・インターフェイス内で関数の解説を見るには、以下のようにする。

?^Adraw-line

こうすると、drawline 関数のヘルプが表示される。

配列操作

N-次元の多次元配列と、LISP 風の書き方の両方を同時に使うことができる。

値の設定と参照

? (defvar m (matrix 2 3)) ;; 多次元配列の定義
= ()
? m  ;; 配列の表示
= [[  0.00  0.00  0.00 ]
   [  0.00  0.00  0.00 ]]

? (m 1 2 5)  ;; (1,2) の要素の値を 5 に設定
= [[  0.00  0.00  0.00 ]
   [  0.00  0.00  5.00 ]]
? (m 1 2) ;; 要素 (1,2) の値を表示
= 5

スライス

? (select m 1 2)  ;; 1次元目の方向での二つ目のスライスを選択
= [  0.00  5.00 ]
? (narrow m 1 2 1) ;; 1次元目方向のサイズを 2 に縮小し、オフセットを1 にする
= [[  0.00  0.00 ]
   [  0.00  5.00 ]]

リスト

配列は、その配列と同じ構造を持ったリストに変換でき、またリストから配列を生成することもできる。

? (m () () (range 6))
= [[  1.00  2.00  3.00 ]
   [  4.00  5.00  6.00 ]]
? (m () ())
= ((1 2 3) (4 5 6))

参照

  1. ^ Lush News”. 2016年6月3日閲覧。

外部リンク