変換
====
-この関数は変換で使用します。
+文字列と数値間の変換用関数です。
* number()
* string()
呼び出し元で代入演算子を使う場合は、オブジェクトのコピーを作成します。
-呼出し元で代入演算子を使わない場合は、参照で返されたオブジェクトへ直接アクセスできます。
+呼び出し元で代入演算子を使わない場合は、参照で返されたオブジェクトへ直接アクセスできます。
また、属性がリスト (オブジェクトではありません) でも同じ処理が適用されます。
LibSDL ゲームプログラミング・ライブラリ用の RingLibSDL があります。
RingAllegro と RingLibSDL は Ring コード生成器の支援により
-C ã\82\92使ç\94¨ã\81\97ã\81¦拡張機能として作成されています。
+C ã\81«ã\82\88ã\82\8b拡張機能として作成されています。
RingAllegro と RingLibSDL はシンプルな設定ファイルを記述した後に生成される
10,000 行以上の C コードからなります (コード生成器による処理)。
この設定ファイルを生成器で処理して C コードと
Ring コードから読み込み可能なライブラリを生成します。
-RingAllegro ã\81¨ RingLibSDL ã\82\92使ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81¯å\90\8cä¸\80é\96¢æ\95°ã\82\92æ\9c\89ã\81\99ã\82\8b C ã\82³ã\83¼ã\83\89ã\81\8bã\82\89
-Allegro ã\81\8aã\82\88ã\81³ LibSDL ã\82\92使ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81¨é\9d\9e常ã\81«é¡\9eä¼¼ã\81\97ã\81¦ã\81\84ã\81¾ã\81\99ã\81\8c Ring ã\81®æ©\9fè\83½ã\82\92使ç\94¨ã\81\97ã\81¦構築できます。
+RingAllegro ã\81¨ RingLibSDL ã\81®ä½¿ç\94¨ã\81¯å\90\8cä¸\80é\96¢æ\95°ã\82\92æ\9c\89ã\81\99ã\82\8b C ã\82³ã\83¼ã\83\89ã\81\8bã\82\89
+Allegro ã\81\8aã\82\88ã\81³ LibSDL ã\81®ä½¿ç\94¨ã\81¨é\9d\9e常ã\81«é¡\9eä¼¼ã\81\97ã\81¦ã\81\84ã\81¾ã\81\99ã\81\8c Ring ã\81®æ©\9fè\83½ã\81§構築できます。
* RingAllegro のソースコード : https://github.com/ring-lang/ring/tree/master/extensions/ringallegro
* RingLibSDL のソースコード : https://github.com/ring-lang/ring/tree/master/extensions/ringsdl
* URL エンコード
* HTML テンプレート
* HTML 特殊文字
- * é\96¢æ\95°ã\82\92使ç\94¨ã\81\97ã\81\9f HTML の生成
- * ã\82¯ã\83©ã\82¹ã\82\92使ç\94¨ã\81\97ã\81\9f HTML の生成
+ * é\96¢æ\95°ã\81«ã\82\88ã\82\8b HTML の生成
+ * ã\82¯ã\83©ã\82¹ã\81«ã\82\88ã\82\8b HTML の生成
* CRUD の用例 (MVC を使用)
* ユーザーによる用例 (登録、ログインと確認)
o1 = New point { x=10 y=20 z=30 } See O1 Class Point X Y Z
-メソッドの呼出し後に { } でオブジェクトへアクセスします。
+メソッドの呼び出し後に { } でオブジェクトへアクセスします。
.. code-block:: ring
aList["KSA"] + nl # Riyadh を表示
.. index::
- pair: リスト; リストを使用した仮引数または実引数の渡しかた
+ pair: リスト; リストによる仮引数または実引数の渡しかた
+
+リストによる仮引数または実引数の渡しかた
+========================================
-リストを使用した仮引数または実引数の渡しかた
-============================================
-
この種類のリストでは、仮引数の順序は重要ではないため、
関数へ渡すための仮引数としては非常に優れています (順序の変更ができます)。
"Server : " + mypara[:server] + nl +
"Port : " + mypara[:port]
.. index::
- pair: リスト; リスト配列を使用した仮引数または実引数の渡しかた
+ pair: リスト; リスト配列による仮引数または実引数の渡しかた
+
+リスト配列による仮引数または実引数の渡しかた
+============================================
-リスト配列を使用した仮引数または実引数の渡しかた
-================================================
-
配列形式により、関数へ仮引数また実引数を渡します。
用例:
###-----------------------------
.. index::
- pair: ã\83ªã\82¹ã\83\88; ã\83ªã\82¹ã\83\88ã\81¨å\86\8d帰ã\82\92使ç\94¨ã\81\97ã\81\9f多次元配列の作成方法
+ pair: ã\83ªã\82¹ã\83\88; ã\83ªã\82¹ã\83\88ã\81¨å\86\8d帰ã\81«ã\82\88ã\82\8b多次元配列の作成方法
-ã\83ªã\82¹ã\83\88ã\81¨å\86\8d帰ã\82\92使ç\94¨ã\81\97ã\81\9f多次元配列の作成方法
-==========================================
+ã\83ªã\82¹ã\83\88ã\81¨å\86\8d帰ã\81«ã\82\88ã\82\8b多次元配列の作成方法
+======================================
指定の大きさによる多次元配列でも関数の再帰で作成できます。
While True
# イベントの処理
- # ä¸\80æ\99\82ä½\9cæ¥é \98å\9f\9fã\82\92使ç\94¨ã\81\97ã\81\9f関数の呼び出し。 myfunc(["temp list"]) などのリストです。
+ # ä¸\80æ\99\82ä½\9cæ¥é \98å\9f\9fã\81«ã\82\88ã\82\8b関数の呼び出し。 myfunc(["temp list"]) などのリストです。
# ガベージコレクターの呼び出し
callgc()
.. index::
- pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; QLabel ã\82\92使ç\94¨ã\81\97ã\81\9f画像の表示方法
+ pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; QLabel ã\81«ã\82\88ã\82\8b画像の表示方法
-QLabel ã\82\92使ç\94¨ã\81\97ã\81\9f画像の表示方法
+QLabel ã\81«ã\82\88ã\82\8b画像の表示方法
===============================
-QLabel ã\82¦ã\82¤ã\82¸ã\82§ã\83\83ã\83\88ã\82\92使ç\94¨ã\81\97ã\81\9f画像の表示方法を学びます。
+QLabel ã\82¦ã\82¤ã\82¸ã\82§ã\83\83ã\83\88ã\81«ã\82\88ã\82\8b画像の表示方法を学びます。
.. code-block:: ring
:alt: QProgressBar
.. index::
- pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; QLabel ã\82\92使ç\94¨ã\81\97ã\81\9f寸法変更画像の表示方法
+ pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; QLabel ã\81«ã\82\88ã\82\8b寸法変更画像の表示方法
-QLabel ã\82\92使ç\94¨ã\81\97ã\81\9f寸法変更画像の表示方法
+QLabel ã\81«ã\82\88ã\82\8b寸法変更画像の表示方法
=======================================
この例では QLabel ウィジェットで“アニメーションつき”の画像を表示して寸法を変更する方法を学びます。
:alt: QFileDialog クラス
.. index::
- pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; QPainter ã\82\92使ç\94¨ã\81\97ã\81\9f描画方法
+ pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; QPainter ã\81«ã\82\88ã\82\8b描画方法
-QPainter ã\82\92使ç\94¨ã\81\97ã\81\9f描画方法
+QPainter ã\81«ã\82\88ã\82\8b描画方法
===========================
-ã\81\93ã\81®ç\94¨ä¾\8bã\81§ã\81¯ã\80\81 QPainter ã\82¯ã\83©ã\82¹ã\82\92使ç\94¨ã\81\97ã\81\9f描画方法を学びます。
+ã\81\93ã\81®ç\94¨ä¾\8bã\81§ã\81¯ã\80\81 QPainter ã\82¯ã\83©ã\82¹ã\81«ã\82\88ã\82\8b描画方法を学びます。
.. code-block:: ring
:alt: QPainter クラス
.. index::
- pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; QPrinter ã\82\92使ç\94¨ã\81\97ã\81\9f印刷方法
+ pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; QPrinter ã\81«ã\82\88ã\82\8b印刷方法
-QPrinter ã\82\92使ç\94¨ã\81\97ã\81\9f印刷方法
+QPrinter ã\81«ã\82\88ã\82\8b印刷方法
===========================
この用例では、 QPrinter で PDF ファイルを印刷する方法を学びます。
:alt: キー入力とマウス移動イベント
.. index::
- pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; ã\83\9eã\82¦ã\82¹ã\82\92使ç\94¨ã\81\97ã\81\9fオブジェクトの移動方法
+ pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; ã\83\9eã\82¦ã\82¹ã\81«ã\82\88ã\82\8bオブジェクトの移動方法
-ã\83\9eã\82¦ã\82¹ã\82\92使ç\94¨ã\81\97ã\81\9fオブジェクトの移動方法
+ã\83\9eã\82¦ã\82¹ã\81«ã\82\88ã\82\8bオブジェクトの移動方法
======================================
ユーザがラベルを移動できる移動可能なオブジェクトをプログラムする方法を学びます。
============================== ===========================================================
.. index::
- pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; ã\82¤ã\83\99ã\83³ã\83\88ã\81§ã\82¤ã\83\99ã\83³ã\83\88ã\83\95ã\82£ã\83«ã\82¿ã\82\92使ç\94¨ã\81\97ã\81\9fメソッド
+ pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; ã\82¤ã\83\99ã\83³ã\83\88ã\81§ã\82¤ã\83\99ã\83³ã\83\88ã\83\95ã\82£ã\83«ã\82¿ã\81«ã\82\88ã\82\8bメソッド
-ã\82¤ã\83\99ã\83³ã\83\88ã\81§ã\82¤ã\83\99ã\83³ã\83\88ã\83\95ã\82£ã\83«ã\82¿ã\82\92使ç\94¨ã\81\97ã\81\9fメソッド
+ã\82¤ã\83\99ã\83³ã\83\88ã\81§ã\82¤ã\83\99ã\83³ã\83\88ã\83\95ã\82£ã\83«ã\82¿ã\81«ã\82\88ã\82\8bメソッド
============================================
RingQt はイベントフィルタを使用することにより、新しいクラス QAllEvents を定義しています。
(2) https://github.com/ring-lang/ring/blob/master/applications/formdesigner/tests/indexstart/indexstartController.ring
.. index::
- pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; WebLib ã\81\8aã\82\88ã\81³ GUILib ã\82\92使ç\94¨ã\81\97ã\81\9fレポートの作成方法
+ pair: RingQt ã\81«ã\82\88ã\82\8bã\83\87ã\82¹ã\82¯ã\83\88ã\83\83ã\83\97ã\81¨ã\83¢ã\83\90ã\82¤ã\83«é\96\8bç\99º; WebLib ã\81\8aã\82\88ã\81³ GUILib ã\81«ã\82\88ã\82\8bレポートの作成方法
-WebLib ã\81\8aã\82\88ã\81³ GUILib ã\82\92使ç\94¨ã\81\97ã\81\9fレポートの作成方法
+WebLib ã\81\8aã\82\88ã\81³ GUILib ã\81«ã\82\88ã\82\8bレポートの作成方法
=================================================
WebLib には HtmlPage クラスがあります。
* ICO_SETSCOPE オブジェクトのスコープへ有効なスコープを設定してから新しいオブジェクトの作成後に呼び出します。
* ICO_LOADSUBADDRESS ポインタをスタックに退避してからオブジェクトの属性を取得します。
* ICO_LOADMETHOD オブジェクトのメソッドを検索します。
-* ICO_AFTERCALLMETHOD メソッドの呼出し後に使用されます - 通常時
-* ICO_AFTERCALLMETHOD2 メソッドの呼出し後に使用されます - 次の場合
+* ICO_AFTERCALLMETHOD メソッドの呼び出し後に使用されます - 通常時
+* ICO_AFTERCALLMETHOD2 メソッドの呼び出し後に使用されます - 次の場合
* ICO_NEWCLASS 新しいクラスの範囲を開始します。
* ICO_BRACESTART 括弧を開きます。
* ICO_BRACEEND 括弧を閉じます。
.. index::
- pair: ã\82¹ã\82³ã\83¼ã\83\97è¦\8få\89\87; æ\8b¬å¼§ã\82\92使ç\94¨ã\81\97ã\81\9fクラスのメソッドの内側にあるオブジェクトへのアクセス方法
+ pair: ã\82¹ã\82³ã\83¼ã\83\97è¦\8få\89\87; æ\8b¬å¼§ã\81«ã\82\88ã\82\8bクラスのメソッドの内側にあるオブジェクトへのアクセス方法
-æ\8b¬å¼§ã\82\92使ç\94¨ã\81\97ã\81\9fクラスのメソッドの内側にあるオブジェクトへのアクセス方法
+æ\8b¬å¼§ã\81«ã\82\88ã\82\8bクラスのメソッドの内側にあるオブジェクトへのアクセス方法
======================================================================
クラスのメソッドの内側では三種類のスコープ (ローカルスコープ、オブジェクトスコープとグローバルスコープ) があることを思い出してください。
この場合、属性を読み取りたい場合は、括弧の使用前に
Self オブジェクトを必ずコピーしてください。
-ã\81¾ã\81\9fã\80\81æ\8b¬å¼§ã\82\92使ç\94¨ã\81\97ã\81\9f後に、オブジェクトの属性からローカル変数へコピーしたい場合は、必ず属性を修正してください。
+ã\81¾ã\81\9fã\80\81æ\8b¬å¼§ã\81®後に、オブジェクトの属性からローカル変数へコピーしたい場合は、必ず属性を修正してください。
この場合は、括弧の内側にある属性の読み取り、または変更をしたいときに発生します。
name: Bert
.. index::
- pair: ã\82¹ã\82³ã\83¼ã\83\97è¦\8få\89\87; æ\8b¬å¼§ã\82\92使ç\94¨ã\81\97ã\81\9f現在のオブジェクトスコープの除外方法
+ pair: ã\82¹ã\82³ã\83¼ã\83\97è¦\8få\89\87; æ\8b¬å¼§ã\81«ã\82\88ã\82\8b現在のオブジェクトスコープの除外方法
-æ\8b¬å¼§ã\82\92使ç\94¨ã\81\97ã\81\9f現在のオブジェクトスコープの除外方法
+æ\8b¬å¼§ã\81«ã\82\88ã\82\8b現在のオブジェクトスコープの除外方法
==================================================
括弧から現在のオブジェクトスコープを別のオブジェクトスコープへ変更します。
:alt: RingFreeGLUT
.. index::
- pair: RingOpenGL ã\81¨ RingFreeGLUT ã\81®ç\94¨æ³\95 (3D ã\82°ã\83©ã\83\95ã\82£ã\83\83ã\82¯ã\82¹); RingOpenGL ã\81¨ RingFreeGLUT ã\82\92使ç\94¨ã\81\97ã\81\9fç«\8bæ\96¹ä½\93ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\81«ã\81¯
+ pair: RingOpenGL ã\81¨ RingFreeGLUT ã\81®ç\94¨æ³\95 (3D ã\82°ã\83©ã\83\95ã\82£ã\83\83ã\82¯ã\82¹); RingOpenGL ã\81¨ RingFreeGLUT ã\81«ã\82\88ã\82\8bç«\8bæ\96¹ä½\93ã\81®ä½\9cä¾\8b
-RingOpenGL ã\81¨ RingFreeGLUT ã\82\92使ç\94¨ã\81\97ã\81\9fç«\8bæ\96¹ä½\93ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\81«ã\81¯
-=========================================================
+RingOpenGL ã\81¨ RingFreeGLUT ã\81«ã\82\88ã\82\8bç«\8bæ\96¹ä½\93ã\81®ä½\9cä¾\8b
+=============================================
用例:
==============
(1) Ring コンパイラ : 定数のときに最初の演算子の検査を回避するよう「演算子 演算子」の対応を改善。
-(2) Ring コンパイラ : 存在しないファイルを読み込もうとしたとき、エラーメッセージで呼出し元のファイル名を表示。
+(2) Ring コンパイラ : 存在しないファイルを読み込もうとしたとき、エラーメッセージで呼び出し元のファイル名を表示。
(3) Ring コンパイラ : ソースコードファイルで改行のない一行コメントに対応。
(4) Ring コンパイラ : nNewObject に対する Parser 構造体で nNoAssignment 属性を変更。
(5) Ring VM : 新規オブジェクトへアクセスするために弓括弧内での Return 命令の対応を改善。
しかし Load Again コマンドならできます。
-ã\82\88ã\81£ã\81¦ã\80\81ä¸\8bè¨\98ã\81®ã\82³ã\83¼ã\83\89ã\82\92使ã\81\86ã\81¨実行中にファイルの再利用ができます。
+ã\82\88ã\81£ã\81¦ã\80\81ä¸\8bè¨\98ã\81®ã\82³ã\83¼ã\83\89ã\81«ã\82\88ã\82\8a実行中にファイルの再利用ができます。
.. code-block:: ring
* 取扱説明書の改訂
* StdLib - Factorial() 関数の更新
* Ring 仮想計算機 - クラス範囲でスタックの消去処理に関するコードの改善。
-* ã\82µã\83³ã\83\97ã\83« : 3D Cube (OpenGL) + GameLib (RingAllegro) ã\82\92使ç\94¨ã\81\97ã\81\9fテクスチャ画像
+* ã\82µã\83³ã\83\97ã\83« : 3D Cube (OpenGL) + GameLib (RingAllegro) ã\81«ã\82\88ã\82\8bテクスチャ画像
ソースコード:
(2) メインファイル - 実行前の自動保存。
-(3) GUI ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³å®\9fè¡\8cæ\99\82 - å®\9fè¡\8cçµ\90æ\9e\9cã\82¦ã\82£ã\83³ã\83\89ã\82¦ã\81§å\85¥å\8a\9bç\94¨ã\81«ã\83\86ã\82ã\82¹ã\83\88ã\83\9cã\83\83ã\82¯ã\82¹ã\82\92使ç\94¨ã\81\97ã\81\9få ´å\90\88はフォーカスを変更しないようにしました。
+(3) GUI ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³å®\9fè¡\8cæ\99\82 - å®\9fè¡\8cçµ\90æ\9e\9cã\82¦ã\82£ã\83³ã\83\89ã\82¦ã\81§å\85¥å\8a\9bç\94¨ã\83\86ã\82ã\82¹ã\83\88ã\83\9cã\83\83ã\82¯ã\82¹ã\81®ä½¿ç\94¨æ\99\82はフォーカスを変更しないようにしました。
(4) ボタン、およびオプションからウェブアプリケーションを実行できるようになりました。
(6) メインループ、 eval() 関数の特殊なループに関するコードの改善 (高速化)
(7) NULL ポインタの使用回避用の追跡用 C ポインタの改善 (高速化)
-(8) å¼\93æ\8b¬å¼§ã\82\92使ç\94¨ã\81\97ã\81\9f Self オブジェクトの取得を改善 (高速化)
+(8) å¼\93æ\8b¬å¼§ã\81«ã\82\88ã\82\8b Self オブジェクトの取得を改善 (高速化)
.. index::
pair: Ring 1.8 の変更履歴; 拡張機能開発者への告知