1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <html xmlns="http://www.w3.org/1999/xhtml">
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9 <title>Ring 1.4 の変更履歴 — プログラミング言語 Ring 1.12 取扱説明書</title>
11 <link rel="stylesheet" href="_static/bootstrap-astropy.css" type="text/css" />
12 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
14 <script type="text/javascript">
15 var DOCUMENTATION_OPTIONS = {
18 COLLAPSE_INDEX: false,
23 <script type="text/javascript" src="_static/jquery.js"></script>
24 <script type="text/javascript" src="_static/underscore.js"></script>
25 <script type="text/javascript" src="_static/doctools.js"></script>
26 <script type="text/javascript" src="_static/translations.js"></script>
27 <link rel="top" title="プログラミング言語 Ring 1.12 取扱説明書" href="index.html" />
28 <link rel="next" title="Ring 1.3 の変更履歴" href="whatisnew3.html" />
29 <link rel="prev" title="Ring 1.5 の変更履歴" href="whatisnew5.html" />
30 <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,600' rel='stylesheet' type='text/css'/>
33 <body role="document">
35 <a class="brand" title="Documentation Home" href="index.html"><span id="logotext1">🍩Ring</span><span id="logotext2"> 1.12</span><span id="logotext3">:docs</span></a>
38 <li><a href="http://ring-lang.sourceforge.net/news.html">News</a></li>
39 <li><a href="http://ring-lang.sourceforge.net/download.html">Download</a></li>
40 <li><a href="https://groups.google.com/forum/#!forum/ring-lang">Get Help</a></li>
41 <li><a href="https://github.com/ring-lang/ring">Contribute</a></li>
42 <li><a href="http://ring-lang.sourceforge.net/resources.html">Resources</a></li>
43 <li><a href="http://ring-lang.sourceforge.net/team.html">Team</a></li>
45 <li><a title="Ring Homepage" href="http://ring-lang.net/">Website</a></li>
46 <li><a title="総合索引" href="genindex.html">Index</a></li>
50 <form action="search.html" method="get">
51 <input type="text" name="q" placeholder="Search" />
52 <input type="hidden" name="check_keywords" value="yes" />
53 <input type="hidden" name="area" value="default" />
64 <a href="whatisnew3.html" title="Ring 1.3 の変更履歴">
69 <a href="whatisnew5.html" title="Ring 1.5 の変更履歴">
75 <a href="index.html">プログラミング言語 Ring 1.12 取扱説明書</a>
79 <li>Ring 1.4 の変更履歴</li>
84 <div class="document">
85 <div class="documentwrapper">
86 <div class="bodywrapper">
87 <div class="body" role="main">
89 <div class="section" id="ring-1-4">
90 <span id="index-0"></span><h1>Ring 1.4 の変更履歴<a class="headerlink" href="#ring-1-4" title="このヘッドラインへのパーマリンク">¶</a></h1>
91 <p>Ring 1.4 公開版の新機能と変更点を学びます。</p>
92 <div class="section" id="index-1">
93 <span id="id1"></span><h2>新機能と変更リスト<a class="headerlink" href="#index-1" title="このヘッドラインへのパーマリンク">¶</a></h2>
96 <li>変更: 基本拡張機能を Ring VM から分離</li>
98 <li>Ring ノートパッドへ新しいスタイルを追加</li>
104 <li>Qt クラスコンバーター</li>
107 <div class="section" id="ring-vm">
108 <span id="index-2"></span><h2>変更: 基本拡張機能を Ring VM から分離<a class="headerlink" href="#ring-vm" title="このヘッドラインへのパーマリンク">¶</a></h2>
109 <p>Ring 1.4 では、このライブラリが Ring VM から分離されました。</p>
115 <li>RingInternet</li>
117 <p>下記のライブラリは Load 命令で使用可能になります。</p>
118 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">"odbclib.ring"</span>
119 <span class="c"># ODBC 関数</span>
122 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">"mysqllib.ring"</span>
123 <span class="c"># MySQL 関数</span>
126 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">"sqlitelib.ring"</span>
127 <span class="c"># SQLite 関数</span>
130 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">"openssllib.ring"</span>
131 <span class="c"># OpenSSL 関数 (ハッシュとセキュリティ関数)</span>
134 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">"internetlib.ring"</span>
135 <span class="c"># インターネット関数 ( Download() と SendEmail() )</span>
138 <p>上記のライブラリを全て使う場合、 stdlib.ring を指定することにより
139 odbclib.ring, mysqllib.ring, sqlitelib.ring, opensslib.ring
140 そして internetlib.ring ファイルを読み込みます。</p>
141 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">"stdlib.ring"</span>
145 <div class="section" id="index-3">
146 <span id="id2"></span><h2>自然言語ライブラリ<a class="headerlink" href="#index-3" title="このヘッドラインへのパーマリンク">¶</a></h2>
147 <p>Ring 1.4 では命令グループがある言語を手軽に定義するために、
149 <p>例えば、テキストファイル program.txt に自然言語コードを記述します。</p>
150 <p>ファイル: program.txt</p>
151 <div class="highlight-none"><div class="highlight"><pre>Welcome to the Ring programming language!
152 What you are reading now is not comments, I swear!
154 After many years of programming I decided to think different about
155 programming and solve the problems in a better way.
157 We are writing commands or code and the Ring language is reading
158 it to understand us! Sure, What you are seeing now is
159 just ***part of the code - Not the Complete Program***
160 You have to write little things before and after this
161 part to be able to run it!
163 It is the natural part of our code where we can write in English,
164 Arabic or any Natural Language Then we will tell the computer
165 through the Ring language what must happens! in a way that we can scale
166 for large frameworks and programs.
168 Just imagine what will happens to the world of programming once
169 we create many powerful frameworks using the Ring language that
170 uses this way (Natural Programming).
172 For example When we say Hello to the Machine, It can reply! and when we
173 say count from 1 to 5 it will understand us, Also if
174 we said count from 5 to 1 it will
175 understand us too! You can see the Output window!
177 This Goal is not new, but the Ring language comes
178 with an innovative solution to this problem.
182 <div class="highlight-none"><div class="highlight"><pre>Hello, Sir!
210 <p>自然言語コードを実行するには、 start.ring を実行します。</p>
211 <p>start.ring には言語と命令が定義されています。</p>
212 <p>ファイル: start.ring</p>
213 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">"stdlib.ring"</span>
214 <span class="k">load</span> <span class="s">"naturallib.ring"</span>
216 <span class="k">New</span> <span class="n">NaturalLanguage</span> <span class="p">{</span>
217 <span class="n">SetLanguageName</span><span class="p">(:</span><span class="n">MyLanguage</span><span class="p">)</span>
218 <span class="n">SetCommandsPath</span><span class="p">(</span><span class="n">CurrentDir</span><span class="p">()</span><span class="o">+</span><span class="s">"/../command"</span><span class="p">)</span>
219 <span class="n">SetPackageName</span><span class="p">(</span><span class="s">"MyLanguage.Natural"</span><span class="p">)</span>
220 <span class="n">UseCommand</span><span class="p">(:</span><span class="n">Hello</span><span class="p">)</span>
221 <span class="n">UseCommand</span><span class="p">(:</span><span class="n">Count</span><span class="p">)</span>
222 <span class="n">RunFile</span><span class="p">(</span><span class="s">"program.txt"</span><span class="p">)</span>
223 <span class="p">}</span>
226 <p>これで MyLanguage 言語名は定義済みになり、言語命令用のフォルダが指定されます。</p>
227 <p>命令ごとに MyLanguage.Natural パッケージへ所属するクラスを定義します。</p>
228 <p>Hello および Count を命令として二つ定義します。</p>
229 <p>したがって、命令を定義するために CurrentDir()+”/../command” フォルダには二つのファイルが必要です。</p>
230 <p>ファイル: hello.ring</p>
231 <div class="highlight-ring"><div class="highlight"><pre><span class="n">DefineNaturalCommand</span><span class="p">.</span><span class="n">SyntaxIsKeyword</span><span class="p">(</span><span class="o">[</span>
232 <span class="p">:</span><span class="n">Package</span> <span class="o">=</span> <span class="s">"MyLanguage.Natural"</span><span class="p">,</span>
233 <span class="p">:</span><span class="n">Keyword</span> <span class="o">=</span> <span class="p">:</span><span class="n">hello</span><span class="p">,</span>
234 <span class="p">:</span><span class="n">Function</span> <span class="o">=</span> <span class="k">func</span> <span class="p">{</span>
235 <span class="k">See</span> <span class="s">"Hello, Sir!"</span> <span class="o">+</span> <span class="n">nl</span> <span class="o">+</span> <span class="n">nl</span>
236 <span class="p">}</span>
237 <span class="o">]</span><span class="p">)</span>
240 <p>ファイル: count.ring</p>
241 <div class="highlight-ring"><div class="highlight"><pre><span class="n">DefineNaturalCommand</span><span class="p">.</span><span class="n">SyntaxIsKeywordNumberNumber</span><span class="p">(</span><span class="o">[</span>
242 <span class="p">:</span><span class="n">Package</span> <span class="o">=</span> <span class="s">"MyLanguage.Natural"</span><span class="p">,</span>
243 <span class="p">:</span><span class="n">Keyword</span> <span class="o">=</span> <span class="p">:</span><span class="n">count</span><span class="p">,</span>
244 <span class="p">:</span><span class="n">Function</span> <span class="o">=</span> <span class="k">func</span> <span class="p">{</span>
245 <span class="k">if</span> <span class="ow">not</span> <span class="n">isattribute</span><span class="p">(</span><span class="n">self</span><span class="p">,:</span><span class="n">count_times</span><span class="p">)</span> <span class="p">{</span>
246 <span class="n">AddAttribute</span><span class="p">(</span><span class="n">self</span><span class="p">,:</span><span class="n">count_times</span><span class="p">)</span>
247 <span class="n">Count_Times</span> <span class="o">=</span> <span class="mi">0</span>
248 <span class="p">}</span>
249 <span class="k">if</span> <span class="n">Expr</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="o">></span> <span class="n">Expr</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="p">{</span>
250 <span class="n">nStep</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
251 <span class="k">else</span>
252 <span class="n">nStep</span> <span class="o">=</span> <span class="mi">1</span>
253 <span class="p">}</span>
254 <span class="k">if</span> <span class="n">Count_Times</span> <span class="o">=</span> <span class="mi">0</span> <span class="p">{</span>
255 <span class="k">see</span> <span class="n">nl</span><span class="o">+</span><span class="s">"The Numbers!"</span> <span class="o">+</span> <span class="n">nl</span>
256 <span class="n">Count_Times</span><span class="o">++</span>
257 <span class="k">else</span>
258 <span class="k">see</span> <span class="n">nl</span> <span class="o">+</span> <span class="s">"I will count Again!"</span> <span class="o">+</span><span class="n">nl</span>
259 <span class="p">}</span>
260 <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="n">Expr</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="k">to</span> <span class="n">Expr</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="k">step</span> <span class="n">nStep</span> <span class="p">{</span>
261 <span class="k">see</span> <span class="n">nl</span><span class="o">+</span><span class="n">x</span><span class="o">+</span><span class="n">nl</span>
262 <span class="p">}</span>
263 <span class="n">CommandReturn</span><span class="p">(</span><span class="n">fabs</span><span class="p">(</span><span class="n">Expr</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">-</span><span class="n">Expr</span><span class="p">(</span><span class="mi">2</span><span class="p">))</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
264 <span class="p">}</span>
265 <span class="o">]</span><span class="p">)</span>
269 <div class="section" id="ring">
270 <span id="index-4"></span><h2>Ring ノートパッドへ新しいスタイルを追加<a class="headerlink" href="#ring" title="このヘッドラインへのパーマリンク">¶</a></h2>
271 <p>Ring ノートパッドへ表示 - スタイル - モダンスタイルの選択を追加しました。</p>
273 <img alt="Ring ノートパッドの用法 - モダンスタイル" src="_images/rnotemodernstyle.png" />
275 <div class="section" id="ringrepl">
276 <span id="index-5"></span><h2>RingREPL<a class="headerlink" href="#ringrepl" title="このヘッドラインへのパーマリンク">¶</a></h2>
277 <p>application フォルダには、 RingREPL (Read-Eval-Print-Loop) があります。</p>
278 <p>Ring ノートパッド (メニューバー - ツール) からも実行できます。</p>
280 <img alt="RingREPL の用法" src="_images/ringrepl.png" />
282 <div class="section" id="index-6">
283 <span id="id3"></span><h2>数値とバイト間の変換<a class="headerlink" href="#index-6" title="このヘッドラインへのパーマリンク">¶</a></h2>
284 <p>Ring 1.4 では、数値とバイト間の変換をするために、下記の関数があります。</p>
287 <li>Float2Bytes()</li>
288 <li>Double2Bytes()</li>
290 <li>Bytes2Float()</li>
291 <li>Bytes2Double()</li>
294 <div class="highlight-ring"><div class="highlight"><pre><span class="k">see</span> <span class="s">"Test Int2Bytes() and Bytes2Int() - Value : 77"</span> <span class="o">+</span> <span class="n">nl</span>
295 <span class="n">r</span> <span class="o">=</span> <span class="n">Int2Bytes</span><span class="p">(</span><span class="mi">77</span><span class="p">)</span>
296 <span class="k">see</span> <span class="s">"Int Size : "</span> <span class="o">+</span> <span class="n">len</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
297 <span class="k">see</span> <span class="n">r</span> <span class="o">+</span> <span class="n">nl</span>
298 <span class="k">see</span> <span class="n">Bytes2Int</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
299 <span class="k">see</span> <span class="s">"Test Float2Bytes() and Bytes2Float() - Value 77.12"</span> <span class="o">+</span> <span class="n">nl</span>
300 <span class="n">r</span> <span class="o">=</span> <span class="n">Float2Bytes</span><span class="p">(</span><span class="mf">77.12</span><span class="p">)</span>
301 <span class="k">see</span> <span class="s">"Float Size : "</span> <span class="o">+</span> <span class="n">len</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
302 <span class="k">see</span> <span class="n">r</span> <span class="o">+</span> <span class="n">nl</span>
303 <span class="k">see</span> <span class="n">Bytes2Float</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
304 <span class="k">see</span> <span class="s">"Test Double2Bytes() and Bytes2Double() - Value 9999977.12345"</span> <span class="o">+</span> <span class="n">nl</span>
305 <span class="n">r</span> <span class="o">=</span> <span class="n">Double2Bytes</span><span class="p">(</span><span class="mf">9999977.12345</span><span class="p">)</span>
306 <span class="k">see</span> <span class="s">"Double Size : "</span> <span class="o">+</span> <span class="n">len</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
307 <span class="k">see</span> <span class="n">r</span> <span class="o">+</span> <span class="n">nl</span>
308 <span class="n">decimals</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
309 <span class="k">see</span> <span class="n">Bytes2Double</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="o">+</span> <span class="n">nl</span>
313 <div class="section" id="stdlib">
314 <span id="index-7"></span><h2>StdLib の改良<a class="headerlink" href="#stdlib" title="このヘッドラインへのパーマリンク">¶</a></h2>
315 <p>StdLib に関数を実装するために FSize() 関数を更新しました。</p>
316 <p>print() 関数でローカル変数を受け入れられるように更新しました。</p>
317 <div class="highlight-ring"><div class="highlight"><pre><span class="k">load</span> <span class="s">"stdlib.ring"</span>
319 <span class="k">func</span> <span class="n">main</span>
320 <span class="n">print</span><span class="p">(</span><span class="s">"Enter your name : "</span><span class="p">)</span> <span class="p">;</span>
321 <span class="n">Name</span> <span class="o">=</span> <span class="n">getString</span><span class="p">()</span> <span class="p">;</span>
322 <span class="n">print</span><span class="p">(</span> <span class="s">"Hello : #{Name} "</span><span class="p">)</span> <span class="p">;</span>
323 <span class="k">return</span> <span class="p">;</span>
327 <div class="section" id="weblib">
328 <span id="index-8"></span><h2>WebLib の改良<a class="headerlink" href="#weblib" title="このヘッドラインへのパーマリンク">¶</a></h2>
329 <p>WebLib を更新しました</p>
333 <ol class="arabic simple">
334 <li>Error (WebLib-1) : REQUEST_METHOD is empty ! - Run this script from the browser</li>
335 <li>Error (DataLib-1) : Can’t connect to the database server!</li>
338 <li>Template() 関数の改良 - 第二仮引数でオブジェクトの代わりに NULL を受け入れることができるようになりました。</li>
340 <div class="highlight-ring"><div class="highlight"><pre><span class="n">html</span><span class="p">(</span><span class="n">template</span><span class="p">(</span><span class="s">"main.rhtml"</span><span class="p">,</span><span class="kp">NULL</span><span class="p">))</span>
344 <li>“target”属性への対応のために Form クラスを更新</li>
346 <div class="highlight-ring"><div class="highlight"><pre><span class="n">BootStrapWebPage</span><span class="p">()</span>
347 <span class="p">{</span>
348 <span class="n">Title</span> <span class="o">=</span> <span class="s">"The Ring Programming Language"</span>
349 <span class="n">html</span><span class="p">(</span><span class="n">template</span><span class="p">(</span><span class="s">"main.rhtml"</span><span class="p">,</span><span class="kp">NULL</span><span class="p">))</span>
350 <span class="n">div</span> <span class="p">{</span>
351 <span class="n">classname</span> <span class="o">=</span> <span class="p">:</span><span class="n">container</span>
352 <span class="n">div</span>
353 <span class="p">{</span>
354 <span class="n">id</span> <span class="o">=</span> <span class="s">"div3"</span>
355 <span class="n">color</span> <span class="o">=</span> <span class="s">"black"</span>
356 <span class="n">backgroundcolor</span> <span class="o">=</span> <span class="s">"white"</span>
357 <span class="n">width</span> <span class="o">=</span> <span class="s">"100%"</span>
358 <span class="n">form</span>
359 <span class="p">{</span>
360 <span class="n">method</span> <span class="o">=</span> <span class="s">"POST"</span>
361 <span class="n">Action</span> <span class="o">=</span> <span class="n">website</span>
362 <span class="n">Target</span> <span class="o">=</span> <span class="s">"codeoutput"</span>
363 <span class="n">input</span> <span class="p">{</span> <span class="n">type</span><span class="o">=</span><span class="s">"hidden"</span> <span class="n">name</span><span class="o">=</span><span class="s">"page"</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span> <span class="p">}</span>
364 <span class="n">Table</span>
365 <span class="p">{</span>
366 <span class="n">style</span> <span class="o">=</span> <span class="n">stylewidth</span><span class="p">(</span><span class="s">"100%"</span><span class="p">)</span> <span class="o">+</span>
367 <span class="n">stylegradient</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
368 <span class="n">TR</span>
369 <span class="p">{</span>
371 <span class="n">TD</span> <span class="p">{</span> <span class="n">align</span><span class="o">=</span><span class="s">"center"</span>
372 <span class="n">WIDTH</span><span class="o">=</span><span class="s">"10%"</span>
373 <span class="n">text</span><span class="p">(</span><span class="s">"Code :"</span><span class="p">)</span>
374 <span class="p">}</span>
375 <span class="n">TD</span> <span class="p">{</span>
376 <span class="n">html</span><span class="p">(`</span>
377 <span class="o"><</span><span class="n">textarea</span> <span class="n">name</span> <span class="o">=</span> <span class="s">"cCode"</span>
378 <span class="n">rows</span><span class="o">=</span><span class="s">"5"</span>
379 <span class="n">style</span><span class="o">=</span><span class="s">"width : 100%; "</span><span class="o">></span>
380 <span class="k">See</span> <span class="s">"Hello, World!"</span> <span class="o">+</span> <span class="n">nl</span>
381 <span class="o"></</span><span class="n">textarea</span><span class="o">></span><span class="p">`)</span>
382 <span class="p">}</span>
383 <span class="p">}</span>
384 <span class="p">}</span>
385 <span class="n">Input</span> <span class="p">{</span> <span class="n">type</span> <span class="o">=</span> <span class="s">"submit"</span>
386 <span class="n">classname</span><span class="o">=</span><span class="s">"btn btn-primary btn-block"</span>
387 <span class="n">value</span> <span class="o">=</span> <span class="s">"Execute"</span> <span class="p">}</span>
388 <span class="n">Table</span>
389 <span class="p">{</span>
390 <span class="n">style</span> <span class="o">=</span> <span class="n">stylewidth</span><span class="p">(</span><span class="s">"100%"</span><span class="p">)</span> <span class="o">+</span>
391 <span class="n">stylegradient</span><span class="p">(</span><span class="mi">34</span><span class="p">)</span>
392 <span class="n">TR</span>
393 <span class="p">{</span>
395 <span class="n">TD</span> <span class="p">{</span> <span class="n">align</span><span class="o">=</span><span class="s">"center"</span>
396 <span class="n">WIDTH</span><span class="o">=</span><span class="s">"10%"</span>
397 <span class="n">text</span><span class="p">(</span><span class="s">"Output :"</span><span class="p">)</span>
398 <span class="p">}</span>
399 <span class="n">TD</span> <span class="p">{</span>
400 <span class="n">html</span><span class="p">(`</span>
401 <span class="o"><</span><span class="n">iframe</span> <span class="n">name</span><span class="o">=</span><span class="s">"codeoutput"</span>
402 <span class="n">width</span><span class="o">=</span><span class="s">"100%"</span>
403 <span class="n">style</span><span class="o">=</span><span class="s">"background-color:white;"</span><span class="o">></span>
404 <span class="o"></</span><span class="n">iframe</span><span class="o">></span><span class="p">`)</span>
405 <span class="p">}</span>
406 <span class="p">}</span>
407 <span class="p">}</span>
409 <span class="p">}</span>
410 <span class="p">}</span>
412 <span class="p">}</span>
413 <span class="n">html</span><span class="p">(</span><span class="n">template</span><span class="p">(</span><span class="s">"footer.rhtml"</span><span class="p">,</span><span class="kp">NULL</span><span class="p">))</span>
414 <span class="p">}</span>
418 <div class="section" id="ringqt">
419 <span id="index-9"></span><h2>RingQt の改良<a class="headerlink" href="#ringqt" title="このヘッドラインへのパーマリンク">¶</a></h2>
420 <p>この関数を RingQt へ追加</p>
422 <li>SetDialogIcon(cIconFile)</li>
423 <li>MsgInfo(cTitle,cMessage)</li>
424 <li>ConfirmMsg(cTitle,cMessage)</li>
425 <li>InputBox(cTitle,cMessage)</li>
426 <li>InputBoxInt(cTitle,cMessage)</li>
427 <li>InputBoxNum(cTitle,cMessage)</li>
428 <li>InputBoxPass(cTitle,cMessage)</li>
430 <p>このクラスを RingQt へ追加</p>
434 <li>QSerialPortInfo</li>
437 <div class="section" id="qt">
438 <span id="index-10"></span><h2>Qt クラスコンバーター<a class="headerlink" href="#qt" title="このヘッドラインへのパーマリンク">¶</a></h2>
439 <p>Ring 1.4 は Qt クラスを RingQt への移植するための補助ツールがあります。</p>
440 <p>ring/samples/tools/QtClassConverter にあります。</p>
441 <p>オンライン : <a class="reference external" href="https://github.com/ring-lang/ring/tree/master/samples/tools/QtClassConverter">https://github.com/ring-lang/ring/tree/master/samples/tools/QtClassConverter</a></p>
443 <img alt="RingQt 移植補助用 Qt クラスコンバーター" src="_images/qtclassconvertor.png" />
445 <div class="section" id="ring-1-4-1">
446 <span id="index-11"></span><h2>Ring 1.4.1 の変更履歴<a class="headerlink" href="#ring-1-4-1" title="このヘッドラインへのパーマリンク">¶</a></h2>
447 <p>このような変更点が Ring 1.4.1 にあります。</p>
449 <li>ソースコードからのビルドに使用するスクリプトの改良</li>
450 <li>Ring ノートパッドの Modern Style の配色を改善</li>
453 <li>新しいサンプル : Sixteen Puzzle</li>
455 <p>ソースコードからのビルドで使用するスクリプトの更新</p>
456 <p>Windows, Ubuntu Linux, Linux Mint および macOS で動作確認を行いました。</p>
458 <img alt="Linux Mint で Ring を使用" src="_images/linuxmint.png" />
459 <p>Ring ノートパッドでは - モダンスタイルの配色を更新</p>
461 <img alt="Ring ノートパッドの使用 - モダンスタイル" src="_images/rnotemodernstyle2.png" />
462 <p>StdLib オブジェクトライブラリへ関数を実装しました。</p>
469 <p>この関数はウィンドウの前面にダイアログを表示するために更新しました。</p>
471 <li>SetDialogIcon(cIconFile)</li>
472 <li>MsgInfo(cTitle,cMessage)</li>
473 <li>ConfirmMsg(cTitle,cMessage)</li>
474 <li>InputBox(cTitle,cMessage)</li>
475 <li>InputBoxInt(cTitle,cMessage)</li>
476 <li>InputBoxNum(cTitle,cMessage)</li>
477 <li>InputBoxPass(cTitle,cMessage)</li>
479 <p>Applications フォルダへ Sixteen Puzzle を追加しました。</p>
481 <img alt="Sixteen Puzzle" src="_images/sixteenpuzzle.jpg" />
489 <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
490 <div class="sphinxsidebarwrapper"><h3>ページの内容</h3>
492 <li><a class="reference internal" href="#">Ring 1.4 の変更履歴</a><ul>
493 <li><a class="reference internal" href="#index-1">新機能と変更リスト</a></li>
494 <li><a class="reference internal" href="#ring-vm">変更: 基本拡張機能を Ring VM から分離</a></li>
495 <li><a class="reference internal" href="#index-3">自然言語ライブラリ</a></li>
496 <li><a class="reference internal" href="#ring">Ring ノートパッドへ新しいスタイルを追加</a></li>
497 <li><a class="reference internal" href="#ringrepl">RingREPL</a></li>
498 <li><a class="reference internal" href="#index-6">数値とバイト間の変換</a></li>
499 <li><a class="reference internal" href="#stdlib">StdLib の改良</a></li>
500 <li><a class="reference internal" href="#weblib">WebLib の改良</a></li>
501 <li><a class="reference internal" href="#ringqt">RingQt の改良</a></li>
502 <li><a class="reference internal" href="#qt">Qt クラスコンバーター</a></li>
503 <li><a class="reference internal" href="#ring-1-4-1">Ring 1.4.1 の変更履歴</a></li>
510 <p class="topless"><a href="whatisnew5.html"
511 title="前の章へ">Ring 1.5 の変更履歴</a></p>
513 <p class="topless"><a href="whatisnew3.html"
514 title="次の章へ">Ring 1.3 の変更履歴</a></p>
515 <div role="note" aria-label="source link">
517 <ul class="this-page-menu">
518 <li><a href="_sources/whatisnew4.txt"
519 rel="nofollow">ソースコードを表示</a></li>
523 <form action="search.html" method="get">
524 <input type="text" name="q" placeholder="Search" />
525 <input type="hidden" name="check_keywords" value="yes" />
526 <input type="hidden" name="area" value="default" />
531 <div class="clearer"></div>
533 <footer class="footer">
534 <p class="pull-right">
535 <a href="_sources/whatisnew4.txt"
536 rel="nofollow">Page Source</a>
537 <a href="#">Back to Top</a></p>
539 © Copyright 2016-2020, Ring Team.<br/>
540 Created using <a href="http://www.sphinx-doc.org/en/stable/">Sphinx</a> 1.3.6. / astropy-sphinx-theme 1.1 (isVowel)