ランダム文字列の生成
このところ,何度かサーバーをインストールする機会がありました。その際いくつかのソフトウェアをインストールするとき,ランダムな文字列を設定ファイルに書き込む必要がありました。例えば,このブログのソフトウエアであるwordpressのインストールには,その設定ファイルに65個のランダム文字列を8種類入力する必要があります。また,データベースを管理するソフトウエア,phpMyAdminのインストール時にもランダムな文字列の設定が求められます。
勿論ランダムな文字列を入れれば良いので,手で適当に入力しても間に合います。また,そのような文字列を生成するツールも用意されている場合もあります。
しかし,作成プログラムを自分で作ってみたくなるのも事実です。実際,ランダム文字列の作成は色々な状況で起きるので,類似のプログラムは実は何度も作っています。ここでは,その簡単なひな形を紹介します。小さなプログラムで,少しの手直しで,色々に対応できます。
基本のひな形
アイデアはとても簡単です。選ぶ文字の集合を決めて,その集合の中からランダムに文字を選択することを繰り返すだけです。
選ぶ文字の集合
例えば,文字ABCDEFGから選ぶとして,その集合を数学の記号で表すと{A,B,C,D,E,F,G}となります。しかし,残念ながらtbasicには,集合という対象はありません。そこで,その代わりに,文字列”ABCDEFG”を使うことにします。勿論,集合と文字列は別な対象ですが,文字列にもその中の一つの文字を取り出すという操作が可能です。ですから,文字列でも選ぶ文字の集合としての役割を果たせます。具体的には,Mid$関数を使うと,文字列”ABCDEFG”から,例えば,”E”を選ぶことは,Mid$(“ABCDEFG”,5,1)で可能です。
一般に文字列T$から,n番目の文字を選ぶには,Mid$(T$,n,1)によって可能で