top  >> fb_top >> fb_tips

Future BASIC の Tips気付いた点

最後に更新した日 2002.10.31
 初心者のわたくしがこんなコーナーを設けるなどおこがましいかぎりではございますが、初心者なりに気が付いたことがあるのと、初心者であればこそ解りやすく説明できることがあると思いますので、幾つか書かせていただきます。
 また念の為お断りしておきますが、以下の「気付いた点」は Future BASIC(FB) のバージョンや環境により内容が異なる場合がございます。内容自体、私の考え違いによるものという可能性も有ります。あくまでも「参考」程度のものとお考えください。以下の内容により発生した不具合等については一切責任を負いかねます。
■私の環境

iBook SE 466(貝殻型)
MacOS9.2.2

Future Basic 3 .3 日本語版
ProgramGenerator 4 .7 日本語版

Future Basic 3 .5 日本語版
ProgramGenerator 4.8.2 日本語版

●Tips 目次

■FB3 エディタでスクロールが巻き戻される
■FBIIのプロジェクト ファイルが変換できない
■FB 用語解説
■関数や変数の名前のつけ方
■初心者向けマニュアルを終えたら(2002.04訂正)
■マニュアルの誤字脱字など
■配列の添え字

■FB3 エディタでスクロールが巻き戻される
 インプットメソッドに EGBRIDGE や、VJE-Delta などを使っている人は、スクロールボタンを押しても、マウスから手を離すと挿入キャレットの位置まで戻る現象が起きることが有ります。
 この場合「[ Command ] + スペースバー」で日本語入力モードから Roman - JIS や U.S. などの半角英数入力モードに切り替えれば解決すると思います。
目次に戻る
■FBIIのプロジェクト ファイルが FB3 に変換できない
 メーリングリストにも書いた内容を(少し修正して)以下に書きます。

 わたしは FBII 日本語版 2.3j を持っているのですが、このバージョンの FBII ではプロジェクトファイルがうまく作られない事が有るようです。このことはプロジェクトファイルをダブルクリックして開こうとすると「壊れています」とかの警告がでるので以前から知っていましたが、FBIIの場合ソースファイルのダブルクリックでプロジェクトは開けるしビルドもできるので気付かなかった人もいるかと思います。
 FB3 への変換の際、このプロジェクトファイルを使う様にマニュアルに書かれていますが、使うとやっぱり「壊れています」と言われます。
 この場合、いったんプロジェクトファイルを捨て(るかフォルダの外に出すかして)同梱の英語版 FB2 を起動し(FB2 にも、FB3 にも、FB2 英語版はついていますので)、英語版 FB2 でプロジェクトファイルを作り直してみると、うまく行くことが有ります。
目次に戻る
■初心者向けマニュアルを終えたら
 FB3 で初めてプログラミングの世界に触れる人は先ずこの「初心者向けマニュアル」を読むかと思いますが、これを終えた後どうすれば良いかが判らないかも知れません。

 FB3 には膨大なサンプルが付いてきますがこれはどうやって学べばよいのでしょうか。手当たり次第ファイルを開いてみても最初はちんぷんかんぷんです。

 その答えは、残念ながら「FB II」の中にあります。
 FB3 には、なんと「FutureBASIC II」も付いてきます。更にその中の「日本語マニュアル」フォルダの中に FB II 用のマニュアルも eDOC Reader 書類として入っています。
 「プログラミング.edc」これが「初心者向けマニュアル」を終えた後すすむべきマニュアルでしょう。
 先に「残念ながら」と書きました。残念なのは、このマニュアルが FB II 向けであって FB3 向けではないということで、FB3 で実行しようとすると少し挙動が違います。しかしこれをやれば Macintosh プログラミングがどんなものか、FutureBASIC がどんなものか、かなりつかむことができます。
 更にその先は「ハンドブック.edc」に進みましょう。これは FB II のときについていたものを ModE さんが FB 3 用に修正したもので、本家イギリス語版 FB 3 にはないものです。プログラミングマニュアルで学んだ部分をさらに深く掘り下げて解説してあります。
 他に別売り(?)で、「今日からマックプログラマー FutureBASIC II でGO!」(毎日コミュニケーション刊 \2800)がありますが。これも FB II 向けですが、内容はまだまだ有用です。てゆうか手放せません。

目次に戻る
■マニュアルの誤字脱字など
  FB3 のマニュアルはこの業界ではかなり良心的です(良心的なのはマニュアルだけでは有りませんが)。しかしそれでも誤字脱字がいっぱい有ります。別のページにそれらをまとめてみました。けっして悪意からではなく FB3 日本語版が少しでも良くなるようにとの思いからです。
目次に戻る
その別のページ--->>マニュアルの誤字脱字など。
■FB 用語解説
 初心者の方が先ず困るのが難しい用語の数々です。「パソコン用語辞典」を引いてもプログラミングに必要な用語は載っていることも少なく、載っていても Macintosh は蚊帳の外だったり、簡単な説明しか書いていなかったりします。私は常々
「”Macintosh プログラミング用語辞典”みたいなものがあればのに」と思っていました。
 勿論このコーナーはそのかわりには到底なり得ませんが、自分の説明できる範囲で「自分が学び始めたばかりの時、つまずいた、理解に苦労した用語」を全く知らない人にも解るように努めました。
注:他のページ同様、私が用語を間違って理解している可能性が有ります。あくまでも「参考」程度のものとお考えください。内容に間違いなどございましたら掲示板などに御指摘いただければ幸いに存じます。
目次に戻る
その別のページ--->>FB 用語説明。
■配列の添え字
 FB では配列の添え字(配列番号)がほかの言語と異なります。
 C言語では...

short sample[ 10];

...とすると、0〜9 までの10個の変数を用意してくれますが、FB では...

DIM sample( 10)

...とすると、0〜10 までの11個を用意します。将来C言語の習得を考えている方は注意して下さい。
 しかしこの仕様は良いのかどうか判りかねます。「BASIC である」という事を考えるとC言語の落とし穴を避けることができるので便利なような気がします。しかしレコード内に配列を定義する場合などレコードサイズが違ってしまいますし、FB はサポート環境の厚いC言語に近づくかのように進化してきましたからCとの関係を考えると良くないような気がします。
目次に戻る
■関数や変数の名前のつけ方
 どんなふうに名前(識別子といいます)を付けたら良いか、ほかの言語でプログラミングの経験のある方や、BASIC だけでも長くやっている方はよく知っているかと思いますが、FutureBasic がはじめてのプログラミング言語という方は判らないかも知れません。「a」とか「b$」などの記号的な名前の変数を適当に作って何カ月か後に「a ってなんだっけ?」と、自分で書いたプログラムなのに理解不能、という事になり勝ちです。

●関数と変数の識別子に使える文字
 リファレンスマニュアルの 6 p に書いてありますが、...
・英文字、つまりアルファベット。
・下線、つまりアンダースコア(こういうやつ→「_」)。ただし先頭には使えない。
・数字。ただし先頭には使えない。
 ...というものが使えます。FB3 の場合、下線を先頭に使うと変数の名前ではなく「記号定数」の名前になってしまうので注意して下さい。
 また、漢字は使えません。「日本語を使いたい」と思う方もいらっしゃるかも知れませんが、やってみると以外に不便です。過去、「日本語BASIC」なるものがありましたが見事に失敗しました。
 FutureBASIC で使えるのは上記のようになります。これらをどう組み合わせても自由なのですが、より解りやすい・読みやすい識別子を作るために他の言語で様々なグループが「識別子はこう書くべし」という慣例を作っていますので参考にしましょう。

●一般的な慣例
 私が知っているところでは以下の様な慣例があります。
慣例その・:アルファベットは全て小文字で、複数の単語は下線で区切る。例えば...
my_variable
field_3_number
my_function
file_menu_handler  ...など。
慣例その・:最初は小文字。複数の単語を組み合わせる場合2番目以降の単語の先頭を大文字。例えば...
myVariable
field3Number
myFunction
fileMenuHandler  ...など。

 その・は Unix プログラマの慣例、その・は Smaltalk プログラマの慣例だそうです。Macintosh プログラマの多くは「その・」を使っているそうです。FutureBASIC ではどちらも使えます。
※注意
・記号定数名は「その・」のやり方が使えません。記号定数名は下線で始まり、途中に下線を含んではならないのです。
・コンパイル時や検索するとき大文字小文字は区別されません。FutureBASIC2 ではこれらを区別していましたが FB^3 になってからはただ一つの例外(TOOL BOX文)を除いて識別子は大文字小文字を区別しません。

 職業プログラマの方は職場によって・と・のどちらを使うか強制されていると思いますが、職業プログラマと言ってもほとんどは「C/C++」でしょうし、趣味でプログラミングをやっている方はどちらを使っても問題ないでしょう。私は節操がないので両方を使っています。

慣例その・:グローバル変数の名前には先頭に小文字の「g」をつける。例えば...
gMainWindowID
gMyMassageTEXT$  ...など。
 これは...守ったほうがいいと思います。

●参考
 「Perl」の「命名規則」についてのページがありました。変数などの命名に良く使われるイギリス語の一覧などもあり参考になると思います。

命名法のエッセンス   http://www.rfs.jp/sitebuilder/perl/07/02.html

●個人的なやり方
 以下に書くのは私が個人的にやっていることです。Macintosh プログラミングの標準的なやり方ではないですし、他の方から見たら「好ましくない」と思われるかも知れません。
・関数名は上記・を使い、変数名は・を使う。
 このことにより、関数名と変数名が一目で区別できる。...と言っても関数名は必ず「FN」キーワードの後にあるので区別できるんですけどね。
・幾つかのファイルにまたがるプロジェクトの場合、関数名の頭にそれが含まれるファイルの名前が分かるような名前を入れる。
 このことにより、その関数がどのファイルに含まれているかがすぐに分かる。拙作スライドファスナーフィルタはそうやっていますし、「ICN3.FLTR」も関数の頭に「ICN3」が必ず付いています。FB3 ではプロジェクトマネージャーのウインドウにあるファイルを上から順番に繋がった「一つの大きなファイル」と見なして扱うため、ファイルが違っても同じ関数名を使うことが出来ません。似たような処理に対してついつい同じ名前を付けてしまいがちですが、これなら心配要りません。

 繰り返しますがこれは私個人のやり方ですので「望ましい」とは限りません。
目次に戻る

TOP ページに戻る FBトップに戻る


inserted by FC2 system