下記の3本は、いずれも、フリーウェア・無料、です。
各プログラムは、いずれも、個人情報を収集したり送信したりするものではありません。
SJファイル日記検索については、ソースプログラムも掲載いたしました。
ただし、これにつきましては、あくまでもソースプログラムで、コードについての説明はありません。
これらは、いずれも、Haskell言語で、作成・開発、したものです。
Haskell言語のソースプログラムをご利用いただくためには、その開発環境が必要です。
それをご利用させていただくためには、準備作業が必要です。
準備作業:
Haskell言語の開発環境のインストールについては、https://www.haskell.org/downloads/から、使用しているOSにあったものをダウンロードしてください。
これによって、ghcコマンドが使用できるようになります。
コマンドプロンプトで、ghc プログラム名と入力してリターンキーを押せば、コンパイルが行われます。
つまり、コマンドプロンプトで、ghc TTnKensaku4と入力してリターンキーを押せば、TTnKensaku4.hsがコンパイルされます。
そして、TTnKensaku4.exeができあがります。
ご使用方法にしたがって、コマンドプロンプトから、プログラム名に続いて、所定のパラメータを入力していただいて、リターンキーを押せば、TTnKensaku4が実行されて日記検索がご使用いただけます。
なお、より簡略なサンプルプログラムの読解に必要な、Haskell言語の関数やサンプルプログラムの関数、についての説明を記述した電子書籍を、パブー・Puboo、にて200円で販売しております。
タイトルは、関数型プログラミング言語 Haskell 超入門書、です。
こちらもどうぞ宜しくお願いいたします。
Update : 2020.01.15.wed.
本プログラムは、書式や文字サイズの指定などのないプレーンなテキストファイルのうち、ANSI・ShiftJIS、および、UTF8、のコード体系で保存されているテキストファイルに対応しています。
本プログラムは、日記ファイルを、検索対象に想定していますが、文章の先頭に日付行が存在していない通常のテキストファイルから、検索条件に合った文章を結果ファイルに抽出することもできます。
悪意のあるコードはプログラムしていませんが、本プログラムのご利用によって生じた結果について、一切責任を負いません。
ご了承ください。
ご了承の上、本プログラムをご利用ください。
文章の先頭に、半角数字4桁、ピリオド、半角数字2桁、ピリオド、半角数字2桁、ピリオド、で開始されている行を、日付として、検索条件に合った文章を日付付きで結果ファイルに抽出します。
次の日付行が現れるまでは、それ以降のどの文章も、直近の手前の日付の文章として扱われます。
日付行が存在していないテキストファイル(※ファイルタイプが.TXTか.txtのファイル)であっても、検索条件に合った文章の結果ファイルへの抽出は行われます。
ファイル内の文章と文章の区別は、連続改行文字によって行います。
ですから、文章の先頭とは、ファイルの先頭の位置か、あるいは、所定数以上の連続改行文字の次の位置です。
連続改行文字が4個以上で別別の文章とみなしたい場合には、第1引数に4を指定してください。
1と指定すれば、1行ごとに別別の文章とみなして検索&抽出が行われます。
複合条件で検索できます。
(A or B or・・・) and (J or K or ・・・) and ・・・
という形式の複合条件での検索です。
詳しくは、各日記検索のページをご参照ください。
フォルダ内の全.docxファイルを、プレーンな.txtファイルに変換するプログラムがあると便利かもしれません。
Python言語を使用すれば、そのプログラムが50行ほどで完成するかと思います。
ただし、.docxファイル中の表の中のデータはすべて消滅してしまいますが。
フォルダ内の全.docxファイルを、プレーンな.txtファイルに変換するプログラムの作成の参考文献としては、『退屈なことはPythonにやらせよう--ノンプログラマーにもできる自動化プログラミング』Al Sweigart 著、相川愛三 訳、株式会社オライリー・ジャパン、が好適かと思います。
リスト 79から92ページ。
join()とsplit()メソッド 138から140、142ページ。
コマンドライン引数を扱う 145ページ。
os.pathモジュール 190から194ページ。
ファイルの読み書きの方法 194から199ページ。
Word文書 349から352ページ。
.docxファイルから全テキストを取得する 351から352ページ。
大体、以上を参考にすれば、フォルダ内の全.docxファイルを、プレーンな.txtファイルに変換するプログラムが完成させられるかと思います。
各プログラムは左記のページよりダウンロードしていただけます。
いずれも、フリーウェア・無料、です。
これらのファイルコードコンバータのプログラムは、いずれも、個人情報を収集したり送信したりしません。
悪意のあるコードはプログラムしていませんが、本プログラムのご利用によって生じた結果について、一切責任を負いません。
ご了承ください。
ご了承の上、本プログラムをご利用ください。
ソースプログラムは掲載していません。
下記に掲載のプログラムは、いずれも、Haskell言語で、作成・開発、したものです。
<感想>
関数型プログラミング言語では、基本的に、変数への再代入ができない。
変数に一旦値を設定したら、2度とその同じ変数に値を設定しなおすことができない。
しかし例外があって、関数の引数に使用されている変数は、関数呼び出しの都度、値が再設定される。
1回目の呼び出しの時に設定した値とは異なった値で2回目の呼び出し、それとはまた異なった値で3回目の呼び出し、それとはまた異なった値で・・・・
なので、単一の記述の関数であっても、さまざまなバリエーションの値に対して、各値が引数に設定された時ならではのその時その時に固有の値を返すという、多様性が発揮できる。
関数の引数の変数には、毎回、さまざまな値を設定して使用できる。そして設定されたさまざまな値ならではの返り値を返すことができる。これによって、様々な値のバリエーションに、関数型言語の関数であっても対応できる。
そのような様々な値のバリエーションに適宜対応する関数を、様々な種類用意して、それらの関数を配列して組み合わせて使用することで、多用な処理を実現できてゆくことになる、関数型言語であっても。
ひとつのデーターセットごとに、専用の関数をひとつずつ記述する、というようなことは必要ない。
ひとつの関数が、ある類型的なデーターのバリエーションのすべてに対して、処理を果たせるので、引数の変数に設定する値を変更してのその関数の呼び出しによって。
関数の引数の変数だけは、値の再設定が許されているので、ひとつの関数が、ある類型的なデーターのバリエーションのすべてに対して、引数の設定値を当該値に変更しての使用によって対応できてゆける。
関数の引数の変数へは様々なデーター値を設定しなおせるので、関数の使用によって、様々なデーター値を処理してゆける。
また、様々な関数が用意できる。
なので、それらの関数を配置して組み合わせて、様々な処理を実現してゆける。それが関数型言語でのプログラミングである。
関数の入り口で受け取る可変値である引数の値だけは、関数の開始時においてだけ毎回なんらかの値に差し替えられる。開始時に設定されたらその関数の終了までその値で使用され続ける。
それ以外の関数の中で使用される変数の値は、その変数への代入命令の実行は絶対にたった1回だけで、その関数が終了するまで、その設定された値のまま使用され続ける。
なので、関数型言語のプログラムでは、変数が途中でその値が変化することがない。関数の開始から終了までの間、1度設定された値そのままであり続けるものとして読み進めてゆける。
そして、関数型言語の関数は、基本的に参照透過性があるので、引数の値に応じた特定の値を返す、ということを実現する以外には、どこにもなんの痕跡も変化も変異も残さない。
なので、参照透過性のある関数は、設定した引数からの返り値を得ることだけを目的として、それ以外には何の、痕跡、変化、変異、ももたらさないものとして安心して使用できる。
Update : 2021.03.16.tue.
Update : 2021.03.16.tue.
Update : 2021.03.16.tue.
Update : 2021.03.16.tue.
下記は、指定したフォルダ内の、ファイルタイプ名が、.txtか.TXTのファイルを対象にしてコンバート処理を実行します。
プレーンなテキストファイルが対象です。