Platforms: Win(x86, x86_64), DOS, Linux License: GNU General Public License (GPL) Version: 1.08 Last Update: Jun 05, 2021 暫くの間、FreeBASICに触れていませんでした。ライブラリの実装にちょっと悩んでいたからなのですが、暫く離れたら良い案でも浮かぶだろうと空いた時間はゲームしてました。まあゲームに熱中しちゃったわけです(w その悩みも一応は解決の方向に向かったので、またライブラリの開発に取り掛かりました。ちょっと調べ物があったのでググっていて、ふとFreeBASICを検索したんですね。そうしたら現在進行形でコーディングしている方のブログ(飴屋ぷろじぇくと)を発見したわけです。一人でPCの前でおお!って声を上げちゃいました。普段、ネットの書き込みで「はいはい、ワロス
目次→演算子→索引演算子→Operator [] (String index)←オリジナル・サイト 演算子 [] (文字列インデックス) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい 文字列内の文字の数値への参照を返します。 構文:
可変長配列は、プログラムの実行中に、要素数を拡大・縮小と変更したり、次元の添え字の範囲を変更できる 配列 です。 可変長配列が、その要素を格納するために用いるメモリは、実行時に、空いている保管場所(heap : 自由に利用できるメモリ)内に割り当てられます。 これは、固定長配列と対照的です。固定長配列では、データは、プログラム・スタック上か、実行可能ファイルの、.BSS か .DATA セクションに割り当てられます。 状況は、 Static (あるいは Shared) で定義されたかどうかによって異なります。 可変長の配列は、ユーザー定義型 の内側のデータ・メンバーとしても使われます。 しかし、固定長配列とは対照的に、配列はユーザー定義型の構造の一部としては、割り当てられません。ユーザー定義型は、可変長であるはずがないからです。 その代わりに、ユーザー定義型は、配列記述子を含むだけです。配
改めて、 「FreeBASIC マニュアル」(日本語訳版)」で学習。 今回のテーマは、 ( ) と [ ] マニュアルの、左ペイン: 目次 では、 索引 ●アルファベット順予約語 ●機能別予約語 ●描画予約語 ●演算子一覧 ・・・・・ ・・・・・ とあるので、演算子一覧:FreeBASIC CatPgOpIndex へ行ってみた: 代入演算子 型変換演算子 術演算子 索引演算子 文字列演算子 比較演算子 論理演算子(ビット単位のブール演算) 短絡演算子 プリプロセッサ演算子 ポインタ演算子 型とクラスの演算子 メモリ演算子 繰り返し演算子 さて、今回のテーマ: 索引演算子:Indexing Operators ・() (配列添え字:Array index) ・[] (文字列索引:String index) ・[] (ポインタ索引:Pointer index) () (配列添え字:Array
公式 http://www.freebasic.net/ マニュアル(英語) http://www.freebasic.net/wiki/wikka.php?wakka=DocToc 渡辺氏による上記の邦訳 http://makoto-watanabe.main.jp/freebasic/index.html 元々QuickBasic互換を目指してたとか。 マイナー言語に属するんだと思いますが、最近はオブジェクト指向とか後続の言語仕様を取り込みつつ、「もはやBASICではない」との批判も聞こえそうな勢いで進化中みたいです。 現状でも言語自体は結構強力で、「足りなければ作る」的なアプローチが出来ます。 さて。 UTAUでUNICODE問題が長年の懸案事項なんだけど ・VB6→表示がSJIS経由になるので日本語以外の多バイト文字が文字化けする。回避策はあるが完全対応は難しい ・C++→UNIC
前に一度触れましたが、FreeBASICの標準データ型でユニコードを扱う文字列型ということになっているWString、これが結構不便なんです。 WString型は基本的に固定長でマニュアルでは可変長にするには自分で確保/拡張/解放(Allocate/Reallocate/Deallocate)するしかないようなことが書かれてますが、これは「BASIC言語としてどうなの?」と思いますよね。 そしてそんな仕様の為、変数宣言は必ずサイズを指定、もしくはポインタとして宣言が強要されます。 一応、宣言した長さ以上の文字列をセットすると自動的にそのサイズに収まるように切り詰められるのは「BASICらしい」とも言えますが、この制限のせいなのかリテラル文字列が文脈によってWString扱いになったりWString Ptr扱いになったりと仕様がちょっと歪なことになっています。 しかしこの制限の影響はこれだけ
c++にはstring内にsplitメソッドが定義されていない。そのため自分で実装しなければならない。 実装 stringstreamを用いる #include <vector> #include <string> #include <sstream> using namespace std; vector<string> split(const string &s, char delim) { vector<string> elems; stringstream ss(s); string item; while (getline(ss, item, delim)) { if (!item.empty()) { elems.push_back(item); } } return elems; } #include <vector> #include <string> using name
{ sub | function } proc_name ... ( array_parameter_name( [ any [, any...] ] ) as datatype , ... ) [ ... ] sub_name ( array_argument_name() , ... ) sub_name array_argument_name() , ... funct_name ( array_argument_name() , ... ) funct_name array_argument_name() , ... ... funct_name ( array_argument_name() , ... ) [ ... ] 注 (パラメーター/引数リストと同じルール): 手続きを宣言/定義するときは、空でないパラメータリストを囲む括弧が必要です。 サブルーチンを呼び出すとき、引数
FreeBASIC 連想配列(containers の hashtable) 目次→フォーラム→FreeBASIC→補足→FreeBasic containers (map , vector , list , queue , stack , hashtable)←オリジナル・サイト 連想配列(containers の hashtable) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい このページは、VANYA さんが、掲示板で公開しているライブラリ「FreeBasic containers」の内の hashtable の部分を日本語化して紹介するものです。 コーディングが容易で高速なので、私の推奨の 連想配列(hashtable) です。 ダウンロード:https://sourceforge.net/projects/freebasic-containers/f
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く