[ 前へ | 目次 | 次へ ]
Japanese English

ステップ 5 - Java™言語で関数/変数を実装する
(プラグイン開発)

ここでは、RINPn の機能を強化するために、Java言語でプラグインを作ってみましょう!

ライブラリ スクリプトによる方法以外にも、Java™言語を用いて、新しい組み込み関数/変数を実装する事もできます。 RINPn および Vnano では、組み込み関数/変数を提供する事を目的とした、 Java™ 言語で記述されたプログラムの事を「 プラグイン 」と呼びます。

プラグインによる関数/変数定義は、 ステップ 4 のようにライブラリ スクリプトで関数や変数を定義する方法と比べて、 Java™ 言語の高い機能性を利用できる事が大きなメリットになるかもしれません。

半面、実装したコードをコンパイルする際には、 別途 Java™ 言語の開発環境 (JDK) が必要です。 ここでは、ご使用のPCに既に何らかのJDKが導入されていて、javac コマンドが使用可能になっている事を前提として解説します。 JDK の導入方法については、例えば「 OpenJDK   インストール   (ここにOSの名前) 」などでWeb検索してみてください。

プラグインの使用方法

RINPn では、プラグインは「 plugin 」フォルダ内に置きます。 このフォルダ内には、標準で、以下のようなプラグインのサンプル「 ExamplePlugin.java 」が同梱されています:

(plugin フォルダ内の ExamplePlugin.java をテキストエディタで開いた内容)

public class ExamplePlugin {

    public double pivar = 1.0;

    public double pifun(double arg) {
        return arg * 2.0;
    }
}

このプラグインは標準でコンパイルされており、読み込まれるよう設定されています(それぞれの方法はすぐ後で説明します)。

上のプラグインで定義しているフィールド「 pivar 」やメソッド「 pifun(arg) 」は、 例えば ステップ 1 で扱った、電卓に入力する計算式の中で、 以下のように関数/変数として使用できます:

INPUT:
1 + pivar

OUTPUT:
2

INPUT:
pifun(2)

OUTPUT:
4

同様に、ステップ 2 でコマンドライン引数に指定している計算式の中や、 ステップ 3ステップ 4 でのスクリプト内でも使用できます。

プラグインのコンパイル方法

プラグインのコード内容を編集した場合には、コンパイルする必要があります。 以下のように、普通の Java™ 言語のプログラムと同様にコンパイルできます:

cd RINPnのpluginフォルダの場所(パス)
javac ExamplePlugin.vnano

なお、「 plugin 」フォルダ内のさらに org/vcssl/connect フォルダ内には、 Vnano のプラグイン開発に有用なインターフェース類 ( XFCI1 や XNCI1 など ) が、 標準で配置されています。 そのため、必要に応じて、それらのインターフェース類をプラグインから import して使用できます。 その場合でも、特に何かを用意したり、コンパイラにオプション等を指定したりする必要はありません。

新しいプラグインの追加方法(読み込み登録)

新しいプラグインを作成した際は、まず、そのファイルを RINPn の「 plugin 」フォルダ内に置いてコンパイルしてください。 子孫階層のフォルダに置きたい場合は、それに整合する階層のパッケージをプラグインのコード先頭で宣言して、 普通のパッケージ所属クラスと同様の方法でコンパイルしてください。

続いて、そのプラグインのクラスファイルのパスを、「 plugin 」フォルダ直下にあるテキストファイル「 VnanoPluginList.txt 」内に記載(追記)してください。 そうすると、そのプラグインが読み込まれるようになります。

Vnano 標準プラグイン

「 plugin 」フォルダ内のさらに org/vcssl/nano/plugin フォルダ内には、 基本的な機能群(数学関数やユーティリティ関数など)を提供する「 Vnano 標準プラグイン 」が配置されており、 標準で読み込まれるよう設定されています。

標準プラグインによって提供される機能の一覧や詳細仕様については、 Vnano 公式サイト内の、標準プラグインの仕様書ページ をご参照ください。 なお、RINPn において特によく使いそうな関数や変数については、 本文書の「 主な組み込み関数/変数 」のページでもリストアップし、簡略化した機能説明文を掲載しています。

- 本文書内の商標などについて -
  • OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • Windows は、米国 Microsoft Corporation の米国およびその他の国における登録商標です。
  • Linux は、Linus Torvalds 氏の米国およびその他の国における商標または登録商標です。
  • Ubuntu は、Canonical Ltd. の米国およびその他の国における商標または登録商標です。
  • その他、文中に使用されている商標は、その商標を保持する各社の各国における商標または登録商標です。

この記事の著者

松井 文宏
[ RINEARN代表, 博士(理学), 応用情報技術者 ]
VCSSLやリニアングラフ3D、その他諸々を開発しています。ガイド類や記事も書いています。


スポンサーリンク



Japanese English
この階層の目次
新しいお知らせ

ExevalatorのVer.2.4をリリース—MCPをサポートし、AI用の計算ツールとしても使用可能に
2025-11-15 - 式計算ライブラリExevalatorのVer.2.4をリリースしました。今回から、AIとやり取りするためのプロトコルである「MCP」をサポートし、AI用の計算ツールとしても使用可能になりました!

Exevalatorの最新版Ver.2.3をリリース、新たにPythonで使用可能に
2025-11-04 - 式計算ライブラリExevalatorのVer.2.3をリリースしました。今回から、新たにPython製のプログラムでも使用可能になりました!AI用ツール開発需要などの背景も踏まえて、詳細をお知らせします。

Exevalatorをアップデート、エラーメッセージの日本語化が手軽に
2025-10-31 - 式計算ライブラリExevalatorのVer.2.2.2をリリースしました。今回から、エラーメッセージを手軽に日本語化できるようになりました。数件のバグ修正&微調整も作んでいます。詳細をお知らせします。

関数電卓RINPn(りんぷん)オンライン版の内部構造を解説
2025-10-22 - 先日登場した、関数電卓ソフトRINPn(りんぷん)のオンライン版の内部構造を解説します。オープンソースなので、自由に改造・流用して、自分だけのWeb電卓を作る事も可能!(かもしれない)

関数電卓RINPn(りんぷん)、どこでもすぐ使えるオンライン版が登場!
2025-10-21 - フリー関数電卓ソフトRINPn(りんぷん)に、Web上でどこでもすぐ使える「オンライン版」が新登場しました!PCだけでなく、スマホでも利用可能です。詳細をお知らせします!

VCSSLのサポートAIが登場!ただし実用品質にはChatGPT有料アカウント(Plus)での利用推奨
2025-08-19 - プログラミング言語VCSSLについての質問対応や、コーディング作業を手伝ってくれるAIさんが登場しました!使用までの流れや推奨事項を解説し、実際の回答例や生成コード例などもたくさん紹介します!

各ソフトやVCSSLの英語版ドキュメント整備がほぼ完了
2025-06-30 - RINEARNでは2年前から、AIの補助による英語版ドキュメントの大幅拡充計画を進めてきました。今回、主要ドキュメント&コンテンツの英訳がほぼ完了し、一応の目標水準に達しました。詳細をお知らせします。

VCSSLの最新版をリリース:外部プログラムとの連携機能を少し強化、他
2025-05-25 - VCSSL3.4.52をリリースしました。外部プログラム(C言語製の実行ファイル等)との連携機能を少し強化し、文字化け対策やOS判別などを可能にしました。他にも細かい機能追加があります。詳細をお知らせします。

VCSSLの最新版をリリース、Java24上での非互換な挙動を対処
2025-04-22 - VCSSL3.4.50をリリースしました。Java24環境上でのネットワークドライブ関連のファイルパス解決で、従来環境とは異なる挙動が生じていたのを解消しました。詳細をお知らせします。

リニアングラフやVCSSLの最新版をリリース、目盛りの位置や内容を自由に指定可能に!
2024-11-24 - リニアングラフ3D/2Dを更新し、自由な位置に、自由な表記内容の目盛りを描けるようになりました!併せて、Java言語やVCSSLでの、プログラム制御用APIも拡張しています。詳細をお知らせします。