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

プログラムの実行と基本的な入出力

前回は、VCSSL&Vnanoの概要などについて解説しました。 今回は、早速プログラムを作成して実行し、基本的な入出力を行ってみましょう。

スポンサーリンク


プログラムの作成と実行 ― Hello World!

まずは各プログラミング言語で恒例の、Hello World! を出力するコードを書いてみましょう:

必須では無いですが、1行目で文字コード( Shift_JIS / UTF-8 / EUC_JP など)を指定できます:

上記のコードは、VCSSLでもVnanoでも、どちらとしても実行できます。 VCSSLとして実行したい場合は拡張子「.vcssl」、Vnanoの場合は拡張子「.vnano」を付けて、テキストファイルとして保存してください。

実行には複数通りの方法があります。以下にまとめますので、好みの方法を選んで実行してみてください:

方法1. VCSSLランタイムで実行する (VCSSL & Vnano両対応)

最も基本となるのは、公式の実行環境ソフト「VCSSLランタイム」を用いる方法です。

上記からVCSSLランタイムをダウンロード・起動し、保存したコード(VCSSLでもVnanoでもどちらも実行可能)を選択すると、実行されます。

実際に実行すると、下図のような黒い画面「VCSSLコンソール」が表れます。コード内で print 関数などで出力した内容は、このコンソール上に表示されます:

なお、このVCSSLコンソール上で F11 キーを押すか、メニューバーから「Reset (F11)」を選択すると、現在実行中のコードが再読み込みされ、再び実行されます。

従って、プログラミング作業中は、VCSSLコンソールは閉じずに立ち上げっぱなしにしておき、「テキストエディタでコードを編集する度に、コンソール上でF11キーを押して実行してみる」といったスタイルで作業すると効率的です。

さらに、環境変数 Path を設定する事で、コマンドラインから vcssl コマンドでコードを実行する事も可能になります。

方法2. 電卓ソフト「リニアンプロセッサー」で実行する (現状VCSSLのみ対応)

VCSSLのプログラムは、電卓ソフト「リニアンプロセッサー」上で実行する事も可能です。というよりも、VCSSLは元々はそのための言語でした。前回述べた通りです。

上記からリニアンプロセッサーをダウンロード・起動して、画面の「 INPUT 」項目に上記のコードを記述し、「 = 」ボタンを押すと実行できます(F11キーでもOK)。

リニアンプロセッサーでは、VCSSLで記述した関数を、電卓の計算で使う事もできます。 また、VCSSLのプログラムを所定のフォルダに詰め込んでおいて、「プログラム」メニューからすぐに呼び出して実行する事もできます。 つまり、VCSSLを日常シーンで活用したいユーザーにとっては、ちょっと便利になるツールです。

半面、電卓ソフトの入力欄に長いコードを書くのはあまり効率的ではない(というか辛い)ため、コーディング作業においてはやはり「普通のテキストエディタ + VCSSLランタイム」で行う方がずっと快適です。

方法3. 電卓ソフト「RINPn(りんぷん)」で実行する (Vnanoのみ対応)

リニアンプロセッサーの小型・軽量版として、「RINPn(りんぷん)」という電卓ソフトがあります。こちらはフルスペックの VCSSL のコードは実行できませんが、Vnano のコードなら実行できます。

上記から RINPn をダウンロード・起動して、画面の「Script」ボタンを押し、Vnano のコードを選択すると実行できます。

また、「計算式の入力欄にコードのファイルパスをコピペして Enter を押す」やり方でも実行可能で、コードを編集しながら何度も実行する場合に便利です。 さらに、環境変数 Path を設定する事で、コマンドラインから rinpn コマンドでコードを実行する事も可能になります。

RINPn でもリニアンプロセッサー同様、Vnano で定義した関数や変数などを、電卓の計算式で使う事ができます。つまり、Vnano を日常シーンで活用したい場合に便利です。

基本的な入出力

どうでしょう、保存したコードを無事実行できたでしょうか?

続いて、文法などの解説に入る前に、よく使用する基本的な入出力についてまとめておきます。

コンソールへのメッセージ出力

print関数(改行なし)またはprintln関数(改行あり)で、コンソールへメッセージを出力します:

実行すると改行を挟んで「123」「Hello」と出力されます。 print / println関数に複数の引数を指定すると、空白区切りで出力されます。配列を指定した場合も、全要素が空白区切りで出力されます。

なお、任意の位置で改行したい場合は、以下のように改行コード定数 EOL を挟みます:

任意の内容の入力

文字列メッセージや数値など、任意の内容の入力にはinput関数を用います:

input関数の戻り値はstring(文字列)型で、上ではそれをint型変数aで受け取っていますが、代入時に自動で変換されます。変換できない場合は実行時エラーとなります。 VCSSLは静的型付けですが、このあたりは小規模用途での小回りを優先して、やや緩い感じになっています。

もし入力された値が数値に変換可能か確認したい場合は、先頭で「 import system.Int; 」 した上で isInt(string) 関数で確認できます。 float も system.FloatisFloat(string) があります:

なお、「はい」/「いいえ」を問うconfirm関数や、ファイル選択用のchoose関数などもあります:

次回は、VCSSLの基本的な文法を、一通りまとめて見てみます。



スポンサーリンク



Japanese English
この階層の目次
RINEARN からのお知らせ
※ VCSSL は RINEARN が開発しています。

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

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

Exevalator 2.2 をリリース、TypeScript 対応によりWebブラウザ上で動作可能に
2024-10-22 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。新たに TypeScript に対応し、Webブラウザ上での式計算にも使えるようになりました。詳細を解説します。

アシスタントAI作成の舞台裏(その2、作成編)
2024-10-12 - アシスタントAIの作成方法解説の後編です。実際にChatGPTの「GPTs」機能を用いて、アシスタントAIを作成する手順や、独自の知識をもたせたり、精度を出すためのノウハウなどを解説しています。

アシスタントAI作成の舞台裏(その1、基礎知識編)
2024-10-07 - アシスタントAI作成方法解説の前編です。今回はまず、アシスタントAIを作る前に抑えておきたい、基礎知識を延々と解説しています。そもそもLLM型AIとはどんな存在か? RAGとは何か? 等々です。

ソフトの利用をサポートしてくれるアシスタントAIを提供開始!
2024-09-20 - RINEARN製ソフトの使い方の質問応答や、一部作業のお手伝いをしてくれる、アシスタントAIを提供開始しました。ChatGPTアカウントさえあれば、誰でも無料で使用できます。使い方を解説します。

Exevalator 2.1 をリリース、新たに Visual Basic に対応
2024-07-28 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。今回から、新たに Visual Basic(VB.NET)でも使用できるようになりました。詳細を解説します。

関数電卓 RINPn(りんぷん)、Esc キーで計算式の一発クリアが可能に
2024-07-20 - 関数電 RINPn の Ver.1.0.2 をリリースしました。今回から、キーボードの「 Esc 」キーを押すと、入力中の計算式を一発でクリアできるようになりました。詳細を解説します。

Exevalator 2.0 をリリース、互換性に注意が必要なバグ修正が 1 件
2024-07-14 - オープンソースの式計算ライブラリ「Exevalator (エグゼバレータ)」の2.0をリリースしました。今回の更新では、互換性に注意を要する 1 件のバグ修正があります。詳細を解説します。

各ソフトウェアをアップデート、リニアングラフのコマンド拡張やVCSSLの英語対応など
2024-02-05 - 各ソフトの一斉アップデートの内容をお知らせします。今回は、リニアングラフのコマンド機能を大幅拡張したのがメインです。また、VCSSLのメッセージ類の英語対応も行いました。