OSDN Git Service

タグを打ち忘れていたついでに、html版ドキュメントを追加しました。
[ring-lang-081/ring.git] / docs / ja-jp / build / html / _sources / whatisnew6.txt
1 .. index:: 
2         single: Ring 1.6 の変更履歴; はじめに
3
4 =======================
5 Ring 1.6 の変更履歴
6 =======================
7
8 Ring 1.6 公開版の新機能と変更点を学びます。
9
10 .. index:: 
11         pair: Ring 1.6 の変更履歴; 新機能と変更リスト
12
13 新機能と変更リスト
14 ==================
15
16 Ring 1.6 の新機能!
17
18 * Employee アプリケーション
19 * 新ツール : Ring2EXE
20 * Android 版 Ring の改善
21 * 新ツール : Folder2qrc
22 * Ring ビルド用スクリプトの改善
23 * RingConsoleColors 拡張機能
24 * RingMurmurHash 拡張機能
25 * Ring ノートパッドの改善
26 * RingQt の改善
27 * StdLib の改善
28 * Ring VM の改善
29 * RingREPL の改善
30 * char(9) の代わりに Tab を使うには
31 * CR をキャリッジリターンとして使うには
32 * ! 演算子を not として使うには
33 * && および || 演算子の用法
34 * 式の表示後に ? で改行するには
35
36 .. index:: 
37         pair: Ring 1.6 の変更履歴; Employee アプリケーション
38
39 Employee アプリケーション
40 =========================
41
42 Employee アプリケーションを ring/applications へ追加しました。
43
44 開発者: アーメド・ハッサウナ
45
46 .. image:: empapp.png
47         :alt: Employee サンプル
48
49 .. index:: 
50         pair: Ring 1.6 の変更履歴; 新ツール - Ring2EXE
51
52 新ツール - Ring2EXE
53 ===================
54
55 現在は、スグレモノである RingEXE (Ring 1.6 以降) があります。
56
57 Ring2EXE (Ring にて記述) で Windows, Linux および macOS 用のアプリケーションを手軽に配布できます。
58
59 詳細情報は本取扱説明書の「Ring2EXE による Ring アプリケーションの配布方法」をご確認ください。
60
61
62 .. index:: 
63         pair: Ring 1.6 の変更履歴; Android 版 Ring の改善
64
65 Android 版 Ring の改善
66 ======================
67
68 複数のソースコードファイル (\*.ring) ではなく Ring オブジェクトファイル (\*.ringo)
69 を使用するために Android 版 Ring (RingQt の使用) を更新しました。
70
71 このスクリーンショットは Android 版 Cards ゲームのビルドに関する用例です。
72
73 cards.ring ではなく cards.ringo を使用します。
74
75 大規模プロジェクト構成 (大量の \*.ring ファイル) では、 \*.ringo ファイルのみ使います。
76
77 .. image:: cardsqt.png
78         :alt: Android 版 Ring の改善
79
80 Qt プロジェクトでモバイル用 RingQt アプリケーションの配布準備をするには Ring2EXE を使用してください。
81
82 用例①
83
84 .. code-block:: ring
85
86         ring2exe cards.ring -dist -mobileqt
87
88 用例②
89
90 .. code-block:: ring
91
92         ring2exe formdesigner.ring -dist -mobileqt
93
94 .. image:: formdesignerandroid.png
95         :alt: Android 版フォームデザイナー
96
97
98 .. index:: 
99         pair: Ring 1.6 の変更履歴; 新ツール - Folder2qrc
100
101 新ツール - Folder2qrc
102 =====================
103
104 大量の画像とファイルから構成されている大規模 RingQt プロジェクトがある場合、
105 モバイル機器用のアプリケーションの配布時にリソースファイル (\*.qrc) へファイルを必ず追加してください。
106
107 Ring 1.6 以降では Folder2qrc ツールにより、一つずつファイルを追加する必要がなくなるので時間の節約になります。
108
109 用例:
110
111 .. code-block:: bash
112
113         folder2qrc formdesigner.ring
114
115 アプリケーションフォルダに移動している間に、メインソースファイルの決定をするために
116 Folder2qrc は現在のフォルダとサブフォルダにある全てのファイルを確認します。
117 そして mainfile.ringo の後にリソースファイルを追加します (この用例では formdesigner.ringo です)。
118
119 出力ファイル : project.qrc
120
121 ファイルを開く、または削除するためにリソースは不要です!
122
123 .. index:: 
124         pair: Ring 1.6 の変更履歴; Ring ビルド用スクリプトの改善
125
126 Ring ビルド用スクリプトの改善
127 =============================
128
129 Ring 1.6 ではソースコードから Ring のビルドを行うためのスクリプトを改善しました。
130
131 この更新は 32bit と 64bit システムの Windows, Linux (Ubuntu, Fedora) および macOS で検証済みです。
132
133 Windows 用のスクリプトでは Visual Studio のバージョンを基に Visual C/C++ コンパイラを検出するために更新されました。
134
135
136 .. index:: 
137         pair: Ring 1.6 の変更履歴; RingConsoleColors 拡張機能
138
139 RingConsoleColors 拡張機能
140 ===========================
141
142 RingConsoleColors 拡張機能でコンソールアプリケーションの配色を簡単に変更できます。
143
144 .. image:: consolecolors.png
145         :alt: RingConsoleColors
146
147 詳細情報は取扱説明書の RingConsoleColors の章をご確認ください。
148
149 .. index:: 
150         pair: Ring 1.6 の変更履歴; RingMurmurHash 拡張機能
151
152 RingMurmurHash 拡張機能
153 ========================
154
155 Ring 1.6 には RingMurmurHash 拡張機能があります!
156
157 開発者: ハッサン・アーメド
158
159 用例:
160
161 .. code-block:: ring
162
163         load "murmurhashlib.ring"
164
165         key = "Ring Language"
166
167         see murmurhash3_x86_32(key, 0, 0) + nl // 実行結果: 1894444853
168         see murmurhash3_x86_32(key, 0, 1) + nl // 実行結果: 70eaef35
169
170 詳細情報は取扱説明書の RingMurmurHash の章をご確認ください。
171
172 .. index:: 
173         pair: Ring 1.6 の変更履歴; Ring ノートパッドの改善
174
175 Ring ノートパッドの改善
176 =======================
177
178 Ring ノートパッドを更新しました。
179
180 (1) アプリケーションの実行時にメインファイルの自動設定 (メインファイルボタンを使用)。
181
182 (2) メインファイル - 実行前の自動保存。
183
184 (3) GUI アプリケーション実行時 - 実行結果ウィンドウで入力用テキストボックスの使用時はフォーカスを変更しないようにしました。
185
186 (4) ボタン、およびオプションからウェブアプリケーションを実行できるようになりました。
187
188 .. image:: runwebapp1.png
189         :alt: Ring ノートパッド - ウェブアプリケーションの実行 - スクリーンショット 1
190
191 Ring 1.6 から Windows ユーザー用に Apache ウェブサーバーが添付されています!
192
193 設定は一切不要で指定フォルダからウェブアプリケーションを実行できます。
194
195 .. image:: runwebapp2.png
196         :alt: Ring ノートパッド - ウェブアプリケーションの実行 - スクリーンショット 2
197
198 (5) ツール - オペレーティングシステム - ターミナル (コマンドプロンプト) & ファイルマネージャー (エクスプローラ)
199
200 .. image:: rnotetoolsterminal.png
201         :alt: Ring ノートパッド - ツール - ターミナル - スクリーンショット 1
202
203 これにより、アプリケーションフォルダからコマンドプロンプト、またはエクスプローラを手軽に開くことができます。
204
205 .. image:: rnotetoolsterminal2.png
206         :alt: Ring ノートパッド - ツール - ターミナル - スクリーンショット 2
207
208 (6) 拡張子 \*.sh と \*.batへの対応
209
210 (7) 新しいメニュー: 配布
211
212 .. image:: rnotedistribute.png
213         :alt: Ring ノートパッド - 配布
214
215 .. index:: 
216         pair: Ring 1.6 の変更履歴; RingQt の改善
217
218 RingQt の改善
219 =============
220
221 RingQt を更新しました。
222
223 (1) QAllEvents - getkeytext() メソッド
224
225 (2) QSQLQuery - exec_2() メソッド
226
227 (3) QDockWidget イベント
228
229 (4) AppFile() 関数
230
231 (5) IsMobile() 関数
232
233 (6) QRegion クラス
234
235 (7) QCoreApplication クラス
236
237
238 .. index:: 
239         pair: Ring 1.6 の変更履歴; StdLib の改善
240
241 StdLib の改善
242 =============
243
244 StdLib を更新しました。
245
246 (1) Factors() 関数の更新 (表示を行わずに出力を返します)
247
248 (2) Palindrome() 関数の更新 (表示を行わずに出力を返します)
249
250 (3) stdlibcore.ring で StdLib 関数を使えます (クラスはありません)。
251
252     これはスタンドアローン型のコンソールアプリケーションを作成する場合に便利です。
253
254     stdlib.ring (関数とクラス) は RingLibCurl, RingOpenSSL などのライブラリを読み込みます。
255
256
257 (4) 新しい関数
258
259 * SystemSilent(cCommand) : 実行結果を表示せずにシステムをコマンド実行します。
260
261 * OSCreateOpenFolder(cFolder) : フォルダの作成後に、現在のフォルダを作成した新しいフォルダへ変更します。
262
263 * OSCopyFolder(cParentFolder,cFolderNameToCopy) : 現在のディレクトリへフォルダをコピーします。
264
265 * OSDeleteFolder(cFolder) : フォルダの削除
266
267 * OSCopyFile(cFileName) : 現在のディレクトリへファイルをコピーします。
268
269 * OSDeleteFile(cFileName) : ファイルの削除
270
271 * OSRenameFile(cOldFileName,cNewFileName) : ファイル名変更
272
273 .. index:: 
274         pair: Ring 1.6 の変更履歴; Ring VM の改善
275
276 Ring VM の改善
277 ==============
278
279 Ring VM を更新しました。
280
281 (1) 式において getter メソッドの複数使用に対応
282
283 (2) This と Self を Setter/Getter メソッドを呼び出さずに Setter/Getter/Normal メソッドで使用できるようにするための対応
284
285 (3) TempName() 関数の更新 (コードの改善)
286
287 (4) ExeFileName() 関数の更新 (コードの改善)
288
289 (5) Private 属性 - クラス範囲における再利用の対応 (Private キーワードの後に)
290
291 (6) Ring API : ring_scanner_runobjstring()
292
293 (7) ring_state_setvar() 関数
294
295 .. index:: 
296         pair: Ring 1.6 の変更履歴; RingREPL の改善
297
298 RingREPL の改善
299 ===============
300
301 RingREPL を更新しました。
302
303 (1) RingREPL はコマンドラインの仮引数でスタイルを決定します。
304
305 (2) Ring ノートパッドのスタイルに基づき RingREPL のスタイルを設定します。
306
307
308 .. index:: 
309         pair: Ring 1.6 の変更履歴; char(9) の代わりに Tab を使うには
310
311 char(9) の代わりに Tab を使うには
312 =================================
313
314 Tab 変数は char(9) の代わりに使用するために定義済みです。
315
316 用例①:
317
318 .. code-block:: ring
319
320         see :one + nl + tab + :two + nl + tab + tab + :three
321
322 実行結果:
323
324 .. code-block:: none
325
326         one
327                 two
328                         three
329
330 変数を別の値へ変更できます。
331
332 用例②:
333
334 .. code-block:: ring
335
336         tab = "  "
337         see :one + nl + tab + :two + nl + tab + tab + :three
338
339 実行結果:
340
341 .. code-block:: none
342
343         one
344           two
345             three
346
347 .. index:: 
348         pair: Ring 1.6 の変更履歴; CR をキャリッジリターンとして使うには
349
350 CR をキャリッジリターンとして使うには
351 =====================================
352
353 この用例では、十秒間に同じ行で 1 ~ 10 まで数えます。
354
355 .. code-block:: ring
356
357         load "stdlibcore.ring"
358         for x = 1 to 10 see x sleep(1) see cr next
359
360 .. index:: 
361         pair: Ring 1.6 の変更履歴; ! 演算子を not として使うには
362
363 ! 演算子を not として使うには
364 =============================
365
366 Ring には = と != があります。
367
368 しかし、論理演算子には and, or, そして not があります。
369
370 さら、 ! 演算子を not として使えます。
371
372 用例:
373
374 .. code-block:: ring
375
376         if ! false
377                 see "True!" + nl
378         ok
379
380 実行結果:
381
382 .. code-block:: none
383
384         True!
385
386
387 .. index:: 
388         pair: Ring 1.6 の変更履歴; && および || 演算子の用法
389
390 && および || 演算子の用法
391 =========================
392
393 このようなキーワードが Ring の論理演算子としてあります。
394
395 * and
396 * or
397 * not
398
399 また、このような演算子もあります。
400
401 * &&
402 * ||
403 * !
404
405 用例:
406
407 .. code-block:: ring
408
409         if one() and two()
410                 see "Test1 - Fail" + nl
411         else
412                 see "Test1 - Pass" + nl
413         ok
414
415         if two() or one()
416                 see "Test2 - Pass" + nl
417         else
418                 see "Test2 - Fail" + nl
419         ok
420
421         if one() && two()
422                 see "Test3 - Fail" + nl
423         else
424                 see "Test3 - Pass" + nl
425         ok
426
427         if two() || one()
428                 see "Test4 - Pass" + nl
429         else
430                 see "Test4 - Fail" + nl
431         ok
432
433         func one return True
434
435         func two return False
436
437 実行結果:
438
439 .. code-block:: none
440
441         Test1 - Pass
442         Test2 - Pass
443         Test3 - Pass
444         Test4 - Pass
445
446 .. index:: 
447         pair: Ring 1.6 の変更履歴; ? 演算子で式の表示後に改行するには
448
449 ? 演算子で式の表示後に改行するには
450 ==================================
451
452 式の表示後に改行することは一般的です。これは ? 演算子で実現できます!
453
454 用例:
455
456 .. code-block:: ring
457
458         ? "Hello, World!"
459         for x = 1 to 10
460                 ? x
461         next
462
463 実行結果:
464
465 .. code-block:: none
466
467         Hello, World!
468         1
469         2
470         3
471         4
472         5
473         6
474         7
475         8
476         9
477         10