2 single: Ring 1.6 の変更履歴; はじめに
4 =======================
6 =======================
8 Ring 1.6 公開版の新機能と変更点を学びます。
11 pair: Ring 1.6 の変更履歴; 新機能と変更リスト
23 * RingConsoleColors 拡張機能
30 * char(9) の代わりに Tab を使うには
31 * CR をキャリッジリターンとして使うには
37 pair: Ring 1.6 の変更履歴; Employee アプリケーション
40 =========================
42 Employee アプリケーションを ring/applications へ追加しました。
50 pair: Ring 1.6 の変更履歴; 新ツール - Ring2EXE
55 現在は、スグレモノである RingEXE (Ring 1.6 以降) があります。
57 Ring2EXE (Ring にて記述) で Windows, Linux および macOS 用のアプリケーションを手軽に配布できます。
59 詳細情報は本取扱説明書の「Ring2EXE による Ring アプリケーションの配布方法」をご確認ください。
63 pair: Ring 1.6 の変更履歴; Android 版 Ring の改善
66 ======================
68 複数のソースコードファイル (\*.ring) ではなく Ring オブジェクトファイル (\*.ringo)
69 を使用するために Android 版 Ring (RingQt の使用) を更新しました。
71 このスクリーンショットは Android 版 Cards ゲームのビルドに関する用例です。
73 cards.ring ではなく cards.ringo を使用します。
75 大規模プロジェクト構成 (大量の \*.ring ファイル) では、 \*.ringo ファイルのみ使います。
77 .. image:: cardsqt.png
78 :alt: Android 版 Ring の改善
80 Qt プロジェクトでモバイル用 RingQt アプリケーションの配布準備をするには Ring2EXE を使用してください。
86 ring2exe cards.ring -dist -mobileqt
92 ring2exe formdesigner.ring -dist -mobileqt
94 .. image:: formdesignerandroid.png
95 :alt: Android 版フォームデザイナー
99 pair: Ring 1.6 の変更履歴; 新ツール - Folder2qrc
102 =====================
104 大量の画像とファイルから構成されている大規模 RingQt プロジェクトがある場合、
105 モバイル機器用のアプリケーションの配布時にリソースファイル (\*.qrc) へファイルを必ず追加してください。
107 Ring 1.6 以降では Folder2qrc ツールにより、一つずつファイルを追加する必要がなくなるので時間の節約になります。
113 folder2qrc formdesigner.ring
115 アプリケーションフォルダに移動している間に、メインソースファイルの決定をするために
116 Folder2qrc は現在のフォルダとサブフォルダにある全てのファイルを確認します。
117 そして mainfile.ringo の後にリソースファイルを追加します (この用例では formdesigner.ringo です)。
121 ファイルを開く、または削除するためにリソースは不要です!
124 pair: Ring 1.6 の変更履歴; Ring ビルド用スクリプトの改善
127 =============================
129 Ring 1.6 ではソースコードから Ring のビルドを行うためのスクリプトを改善しました。
131 この更新は 32bit と 64bit システムの Windows, Linux (Ubuntu, Fedora) および macOS で検証済みです。
133 Windows 用のスクリプトでは Visual Studio のバージョンを基に Visual C/C++ コンパイラを検出するために更新されました。
137 pair: Ring 1.6 の変更履歴; RingConsoleColors 拡張機能
139 RingConsoleColors 拡張機能
140 ===========================
142 RingConsoleColors 拡張機能でコンソールアプリケーションの配色を簡単に変更できます。
144 .. image:: consolecolors.png
145 :alt: RingConsoleColors
147 詳細情報は取扱説明書の RingConsoleColors の章をご確認ください。
150 pair: Ring 1.6 の変更履歴; RingMurmurHash 拡張機能
153 ========================
155 Ring 1.6 には RingMurmurHash 拡張機能があります!
163 load "murmurhashlib.ring"
165 key = "Ring Language"
167 see murmurhash3_x86_32(key, 0, 0) + nl // 実行結果: 1894444853
168 see murmurhash3_x86_32(key, 0, 1) + nl // 実行結果: 70eaef35
170 詳細情報は取扱説明書の RingMurmurHash の章をご確認ください。
173 pair: Ring 1.6 の変更履歴; Ring ノートパッドの改善
176 =======================
180 (1) アプリケーションの実行時にメインファイルの自動設定 (メインファイルボタンを使用)。
182 (2) メインファイル - 実行前の自動保存。
184 (3) GUI アプリケーション実行時 - 実行結果ウィンドウで入力用テキストボックスの使用時はフォーカスを変更しないようにしました。
186 (4) ボタン、およびオプションからウェブアプリケーションを実行できるようになりました。
188 .. image:: runwebapp1.png
189 :alt: Ring ノートパッド - ウェブアプリケーションの実行 - スクリーンショット 1
191 Ring 1.6 から Windows ユーザー用に Apache ウェブサーバーが添付されています!
193 設定は一切不要で指定フォルダからウェブアプリケーションを実行できます。
195 .. image:: runwebapp2.png
196 :alt: Ring ノートパッド - ウェブアプリケーションの実行 - スクリーンショット 2
198 (5) ツール - オペレーティングシステム - ターミナル (コマンドプロンプト) & ファイルマネージャー (エクスプローラ)
200 .. image:: rnotetoolsterminal.png
201 :alt: Ring ノートパッド - ツール - ターミナル - スクリーンショット 1
203 これにより、アプリケーションフォルダからコマンドプロンプト、またはエクスプローラを手軽に開くことができます。
205 .. image:: rnotetoolsterminal2.png
206 :alt: Ring ノートパッド - ツール - ターミナル - スクリーンショット 2
208 (6) 拡張子 \*.sh と \*.batへの対応
212 .. image:: rnotedistribute.png
213 :alt: Ring ノートパッド - 配布
216 pair: Ring 1.6 の変更履歴; RingQt の改善
223 (1) QAllEvents - getkeytext() メソッド
225 (2) QSQLQuery - exec_2() メソッド
235 (7) QCoreApplication クラス
239 pair: Ring 1.6 の変更履歴; StdLib の改善
246 (1) Factors() 関数の更新 (表示を行わずに出力を返します)
248 (2) Palindrome() 関数の更新 (表示を行わずに出力を返します)
250 (3) stdlibcore.ring で StdLib 関数を使えます (クラスはありません)。
252 これはスタンドアローン型のコンソールアプリケーションを作成する場合に便利です。
254 stdlib.ring (関数とクラス) は RingLibCurl, RingOpenSSL などのライブラリを読み込みます。
259 * SystemSilent(cCommand) : 実行結果を表示せずにシステムをコマンド実行します。
261 * OSCreateOpenFolder(cFolder) : フォルダの作成後に、現在のフォルダを作成した新しいフォルダへ変更します。
263 * OSCopyFolder(cParentFolder,cFolderNameToCopy) : 現在のディレクトリへフォルダをコピーします。
265 * OSDeleteFolder(cFolder) : フォルダの削除
267 * OSCopyFile(cFileName) : 現在のディレクトリへファイルをコピーします。
269 * OSDeleteFile(cFileName) : ファイルの削除
271 * OSRenameFile(cOldFileName,cNewFileName) : ファイル名変更
274 pair: Ring 1.6 の変更履歴; Ring VM の改善
281 (1) 式において getter メソッドの複数使用に対応
283 (2) This と Self を Setter/Getter メソッドを呼び出さずに Setter/Getter/Normal メソッドで使用できるようにするための対応
285 (3) TempName() 関数の更新 (コードの改善)
287 (4) ExeFileName() 関数の更新 (コードの改善)
289 (5) Private 属性 - クラス範囲における再利用の対応 (Private キーワードの後に)
291 (6) Ring API : ring_scanner_runobjstring()
293 (7) ring_state_setvar() 関数
296 pair: Ring 1.6 の変更履歴; RingREPL の改善
303 (1) RingREPL はコマンドラインの仮引数でスタイルを決定します。
305 (2) Ring ノートパッドのスタイルに基づき RingREPL のスタイルを設定します。
309 pair: Ring 1.6 の変更履歴; char(9) の代わりに Tab を使うには
311 char(9) の代わりに Tab を使うには
312 =================================
314 Tab 変数は char(9) の代わりに使用するために定義済みです。
320 see :one + nl + tab + :two + nl + tab + tab + :three
337 see :one + nl + tab + :two + nl + tab + tab + :three
348 pair: Ring 1.6 の変更履歴; CR をキャリッジリターンとして使うには
351 =====================================
353 この用例では、十秒間に同じ行で 1 ~ 10 まで数えます。
357 load "stdlibcore.ring"
358 for x = 1 to 10 see x sleep(1) see cr next
361 pair: Ring 1.6 の変更履歴; ! 演算子を not として使うには
364 =============================
366 Ring には = と != があります。
368 しかし、論理演算子には and, or, そして not があります。
370 さら、 ! 演算子を not として使えます。
388 pair: Ring 1.6 の変更履歴; && および || 演算子の用法
391 =========================
393 このようなキーワードが Ring の論理演算子としてあります。
410 see "Test1 - Fail" + nl
412 see "Test1 - Pass" + nl
416 see "Test2 - Pass" + nl
418 see "Test2 - Fail" + nl
422 see "Test3 - Fail" + nl
424 see "Test3 - Pass" + nl
428 see "Test4 - Pass" + nl
430 see "Test4 - Fail" + nl
435 func two return False
447 pair: Ring 1.6 の変更履歴; ? 演算子で式の表示後に改行するには
450 ==================================
452 式の表示後に改行することは一般的です。これは ? 演算子で実現できます!