Ruby (5) カウンターの改良

懸案だった、Ruby のカウンターを改良しました。Ruby で作ったカウンターは合計6か所で運用していたのですが、リセットされたのはおそらく1つだけだったのではないかと思います。まずは新たな版をこちらに1つ追加しました。

前回、ログも残したいと書いたのですが、とりあえず io.flock という機能を使って、多重に開けないように対策しました。前回公開したものを除き、それ以外のカウンターは新しい版に順次入れ替える予定です。

前回、Ruby カウンターを書いたのが、2016年。Aptana Studio 3 で開発し、Apache Server でテストしていました。今使っている PC にはどちらもインストールされていません。今は Aptana Studio 3 より、Visual Studio Code (VSCode) のほうが使いやすいかもしれないと思い、今回は VSCode で開発しました。VSCode からもローカルサーバーを起動する方法があるのですが、CGI で Ruby を起動してブラウザと Ajax 通信するような拡張機能を見つけられなかったので、テストは実環境で行いました。

CGI ファイル(今回は counter02.rb)のモードを実行可能にする必要があるのですが、前回どうやったのか覚えていません。chmod というコマンドを使ったような気もするのですが、Windows の FTP コマンドには chmod がないとのことで、調べた結果、ファイル エクスプローラーのパス入力に FTP サイトのアドレスを入力し、アップロードしたファイルのプロパティで実行可能にするという方法を取りました。

関連項目

プログラミング講座 (202) 1次元セルオートマトン

以前、Facebook の Small Basic グループに公開した1次元セルオートマトンのプログラムがあったので、これを Small Basic オンライン用に改造しました。

1dca_18

プログラムはこちらに公開しました。描画が終わるまで多少の時間がかかります。上図はルール18の1次元セルオートマトンについて y 方向に各世代を並べたものです。ルール18を含むいくつかのルールでは上図のようなシェルピンスキーのギャスケットと呼ばれるフラクタル図形を生成します。

関連項目

プログラミング講座 (190) Small Basic オンライン

Small Basic(スモールベーシック)の公式サイト http://smallbasic.com にはマスコットのシェルダン(左)とシェリー(右)がいます。その右側(画面サイズによっては上)に [Download Small Basic](上)というボタンと [Start Conding Online](下)というボタンがあります。上が Small Basic デスクトップをダウンロードするボタンで、下が Small Basic オンラインをブラウザ上で開始するボタンです。今回は下のボタンを押して進めていきます。

Smallbasicweb

次に現れるのが Small Basic オンラインのエディター画面です。ここには予めサンプルのプログラムが表示されています。このプログラムを動かしてみましょう。メニューの一番右にある [Run] ボタンを押します。

Sboeditor

このサンプルプログラムは名前を聞いてそれを表示するようになっています。名前を入力し [Enter] キーを押してみましょう。

Sbosample

[Back] ボタンを押して、エディター画面に戻ります。このサンプルはテキストを表示するプログラムでしたが、今度はグラフィックスを表示するプログラムを書いてみましょう。メニュー左端の [New] ボタン、[OK] ボタンを押し、以下のプログラムを打ち込んで [Run] ボタンを押してみます。

GraphicsWindow.BrushColor = “Orange”
GraphicsWindow.FillEllipse(10, 10, 200, 200)

Circle

[Back] でエディターに戻ります。左サイドにある Small Basic の3つの立方体のアイコンをクリックしてリファレンスを表示してみます。現在、Small Basic デスクトップと同じリファレンスが表示されますが、前回お伝えしたように、実装されていない機能もかなりあります。

Sboreference

今回は本当に簡単な説明でしたが、次回に続きます。

関連項目