4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

日本語プログラミング言語Mindの小技 「ファイル情報」~読み出し用論理ファイルのローカル変数~

Last updated at Posted at 2025-10-04

はじめに

日本語プログラミング言語Mindの小技「ファイル情報」について説明したいと思います。

対象読者

日本語プログラミング言語Mindのユーザー、または日本語プログラミング言語に興味のある方

この小技に関連するMind言語マニュアル

この小技に関連するMind言語仕様の記述はMind8プログラミングマニュアルに記載がありません。
Mind7の付属の上級者向けドキュメントmind7\doc\file.docmに記載があります。

F5. ファイルの読み書き
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
■論理ファイルのスタック渡し
 論理ファイルをスタックで渡され、これに何か操作をするような処理単語を作ることができます、この場合、渡された論理ファイルは次のような「ファイル情報」変数に代入してから使ってください。(なるべく局所変数を使ってください)

    --------------------------------
    ○○は ファイル情報          ←新しいデータ型です
    --------------------------------

 これで定義された変数は、文字列情報変数に似ています。論理ファイル名を直接記述した時と同様に、これはファイルを示すデータタイプであると認識されます。丁度文字列実体変数にも文字列情報変数にもどちらにも文字列操作がおこなえるのと同じようなものです。
 これにより、「オープン」から「クローズ」までの、すべてのファイルアクセス機能の処理単語において、現物の論理ファイル名以外に、ファイル情報変数も指定できるようになりました。

本機能(本記事)は、下記のバージョンに対応しています。Mind8のLinux版も対応していると思いますが、本記事では特に検証を行っておりません。

対応バージョン

■Mind7 ■Mind8 ■Mind9
■Windows版 □Linux版

小技の解説

Mindの小技「ファイル情報」は、Mindの読み出し用論理ファイルのローカル変数です。

Mindの小技「データ終り?」のソースはあくまで「データ終り?」のサンプルのため、ローカル変数「ファイル情報」を使わずなかば強引に「一行読み出してデータ終わり?」をライブラリ化していました。このソースを「ファイル情報」に対応させます。

Mindプログラムソース

fileinfo.src
サンプル物理ファイルパスは 文字列定数 "c:\developments\vscode\mind9\sample.txt"。
サンプルファイルは         ファイル。

ファイルをオープンするとは (ファイル情報 → ・)
           読出ファイルは ファイル情報

    読出ファイルに 入れ
    読出ファイルを サンプル物理ファイルパスで オープンし
    エラー?
    ならば 「サンプルファイルのオープンに失敗しました。(」を 表示し
        エラー文字列を 表示し 「)」を 一行表示し
            実行終わり
    つぎに
    「サンプルファイルをオープンしました。」を 一行表示すること。

一行読み出してデータ終り?とは (ファイル情報 → 文字列、真偽)
       読出ファイルは ファイル情報

    読出ファイルに 入れ
    読出ファイルを 一行読み出し
    読出ファイルが データ終り?。

ファイルをクローズするとは (ファイル情報 → ・)
           読出ファイルは ファイル情報

    読出ファイルに 入れ
    読出ファイルを クローズし
    「サンプルファイルをクローズしました。」を 一行表示すること。

メインとは (・ → ・)
    
    サンプルファイルで ファイルをオープンし

    ここから
        サンプルファイルを 一行読み出してデータ終り?
        ならば    捨てて 打ち切り
        さもなければ ダブルクオートで囲んで表示し 改行し 
        つぎに
    繰り返し

    サンプルファイルで ファイルをクローズすること。

ローカル変数「ファイル情報」を使って「一行読み出してデータ終り?」をライブラリ単語化しています。「ファイルをオープン」「ファイルをクローズ」も同様です。

fileinfo.src
一行読み出してデータ終り?とは (ファイル情報 → 文字列、真偽)
       読出ファイルは ファイル情報

    読出ファイルに 入れ
    読出ファイルを 一行読み出し
    読出ファイルが データ終り?。

コンパイル結果

ではコンパイルしてみます。下位ライブラリはfileを指定します。

Mind9

下図はMind9βです。

C:\developments\vscode\mind9>mind fileinfo file   

日本語プログラミング言語 Mind Version 8.11 for Windows
          Copyright(C) 1985 Scripts Lab. Inc.
コンパイル中 .. 終了
Coping.. C:\mind9-beta\mind9-beta\bin\mindex.exe --> fileinfo.exe

Mind8

C:\developments\vscode\mind9>mind fileinfo file

日本語プログラミング言語 Mind Version 8.07 for Windows
          Copyright(C) 1985 Scripts Lab. Inc.
コンパイル中 .. 終了
Coping.. c:\pmind\bin\mindex.exe --> fileinfo.exe

Mind7

C:\developments\vscode\mind9>mind fileinfo file
日本語プログラミング言語 Mind Version 7.5 for Windows
          Copyright(C) 1985-2004 Scripts Lab. Inc.
          Single user license.  Serial No:********
コンパイル中 - 終了
Coping.. C:\mind7\bin\mindexec.exe -> fileinfo.exe

実行結果

つづいて実行してみます。
sample.txtは下記の内容です。

C:\developments\vscode\mind9>type sample.txt 
サンプルテキストファイルの1行目です。
サンプルテキストファイルの2行目です。
サンプルテキストファイルの3行目です。
サンプルテキストファイルの4行目です。
サンプルテキストファイルの5行目です。
C:\developments\vscode\mind9>

Mind7/8/9β

Mind8の結果です。記述は割愛していますがMind7/9βも同じです。

C:\developments\vscode\mind9>fileinfo
サンプルファイルをオープンしました。
"サンプルテキストファイルの1行目です。"
"サンプルテキストファイルの2行目です。"
"サンプルテキストファイルの3行目です。"
"サンプルテキストファイルの4行目です。"
"サンプルテキストファイルの5行目です。"
サンプルファイルをクローズしました。

C:\developments\vscode\mind9>

いかがでしょうか?結果は代り映えしませんが、ソースコードの違いのイメージがつかめていただければ幸いです。

参考情報

この小技「ファイル情報」を使った記述例の記事は下記が該当します。(2025/10/05追記)

「論理ファイル」などの基本的な注意事項はこちらをご参照ください。

おわりに

いかがでしたでしょうか?なにかの参考になれば幸いです。2025年は日本語プログラミング言語Mind生誕40周年です。

本記事シリーズのご紹介

本記事シリーズ「日本語プログラミング言語Mindの小技」は「日本語プログラミング言語Mind生誕40周年プロジェクト」の一環です。

興味を持たれた方は日本語プログラミング言語Mind公式サイトにアクセスすると、Mindコンパイラをダウンロードできます。

面白い!、楽しい、カンタン、難しいのも書ける!みんなでやってみよう:relaxed:

4
2
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?