OSDN Git Service

タグを打ち忘れていたついでに、html版ドキュメントを追加しました。
[ring-lang-081/ring.git] / docs / build / html / _sources / systemfunc.txt
diff --git a/docs/build/html/_sources/systemfunc.txt b/docs/build/html/_sources/systemfunc.txt
new file mode 100644 (file)
index 0000000..89d78b0
--- /dev/null
@@ -0,0 +1,487 @@
+.. index:: 
+       single: システム関数; はじめに
+
+============
+システム関数
+============
+
+システム関数の用法を学びます。
+
+* System()
+
+* SysGet()
+
+* IsMSDOS()
+
+* IsWindows()
+
+* IsWindows64()
+
+* IsUnix()
+
+* IsMacOSX()
+
+* IsLinux()
+
+* IsFreeBSD()
+
+* IsAndroid()
+
+* Windowsnl()
+
+* コマンドライン引数の取得
+
+* 使用中のソースファイル名を取得
+
+* CurrentDir()
+
+* ExeFileName()
+
+* ChDir()
+
+* ExeFolder()
+
+* Version()
+
+* Shutdown()
+
+.. index:: 
+       pair: システム関数; System() 関数
+
+System() 関数
+=============
+
+System() 関数はシステムコマンドを実行します。
+
+文法:
+
+.. code-block:: ring
+
+       System(cCommand)
+
+用例:
+
+.. code-block:: ring
+
+       System("myapp.exe")     # myapp.exe の実行
+       System("ls")            # ファイルのリストを表示
+
+.. index:: 
+       pair: システム関数; SysGet() 関数
+
+SysGet() 関数
+=============
+
+SysGet() 関数は環境変数を取得します。
+
+文法:
+
+.. code-block:: ring
+
+       SysGet(cVariable)
+
+用例:
+
+.. code-block:: ring
+
+       see sysget("path")              # システムパスの情報を表示
+
+
+.. index:: 
+       pair: システム関数; IsMSDOS() 関数
+
+IsMSDOS() 関数
+==============
+
+IsMSDOS() 関数はオペレーティングシステムが MS-DOS であるかどうかを確認します。
+
+文法:
+
+.. code-block:: ring
+
+       IsMSDOS()
+               → オペレーティングシステムが MS-DOS ならば 1 を、そうでなければ 0 を返します。
+
+
+.. index:: 
+       pair: システム関数; IsWindows() 関数
+
+IsWindows() 関数
+====================
+
+IsWindows() 関数はオペレーティングシステムが Windows であるかどうかを確認します。
+
+文法:
+
+.. code-block:: ring
+
+       IsWindows()
+               → オペレーティングシステムが Windows ならば 1 を、そうでなければ 0 を返します。
+
+
+.. index:: 
+       pair: システム関数; IsWindows64() 関数
+
+IsWindows64() 関数
+======================
+
+IsWindows64() 関数はオペレーティングシステムが 64bit 版の Windows であるかどうかを確認します。
+
+文法:
+
+.. code-block:: ring
+
+       IsWindows64() 
+               → オペレーティングシステムが Windows64 ならば 1 を、そうでなければ 0 を返します。
+
+
+.. index:: 
+       pair: システム関数; IsUnix() 関数
+
+IsUnix() 関数
+=================
+
+IsUnix() 関数はオペレーティングシステムが UNIX であるかどうかを確認します。
+
+文法:
+
+.. code-block:: ring
+
+       IsUnix() 
+               → オペレーティングシステムが UNIX ならば 1 を、そうでなければ 0 を返します。
+
+
+.. index:: 
+       pair: システム関数; IsMacOSX() 関数
+
+IsMacOSX() 関数
+===============
+
+IsMacOSX() 関数はオペレーティングシステムが macOS であるかどうかを確認します。
+
+文法:
+
+.. code-block:: ring
+
+       IsMacOSX() 
+               → オペレーティングシステムが macOS ならば 1 を、そうでなければ 0 を返します。
+
+
+.. index:: 
+       pair: システム関数; IsLinux() 関数
+
+IsLinux() 関数
+==============
+
+IsLinux() 関数はオペレーティングシステムが Linux であるかどうかを確認します。
+
+文法:
+
+.. code-block:: ring
+
+       IsLinux()
+               → オペレーティングシステムが Linux ならば 1 を、そうでなければ 0 を返します。
+
+
+.. index:: 
+       pair: システム関数; IsFreeBSD() 関数
+
+IsFreeBSD() 関数
+================
+
+IsFreeBSD() 関数はオペレーティングシステムが FreeBSD であるかどうかを確認します。
+
+文法:
+
+.. code-block:: ring
+
+       IsFreeBSD() 
+               → オペレーティングシステムが FreeBSD ならば 1 を、そうでなければ 0 を返します。
+
+
+.. index:: 
+       pair: システム関数; IsAndroid() 関数
+
+IsAndroid() 関数
+================
+
+IsAndroid() 関数はオペレーティングシステムが Android であるかどうかを確認します。
+
+文法:
+
+.. code-block:: ring
+
+       IsAndroid() 
+               → オペレーティングシステムが Android ならば 1 を、そうでなければ 0 を返します。
+
+.. index:: 
+       pair: システム関数; 用例
+
+用例
+====
+
+.. code-block:: ring
+
+       see "IsMSDOS()     --> " + ismsdos()     + nl
+       see "IsWindows()   --> " + iswindows()   + nl
+       see "IsWindows64() --> " + iswindows64() + nl
+       see "IsUnix()      --> " + isunix()      + nl
+       see "IsMacOSX()    --> " + ismacosx()    + nl
+       see "IsLinux()     --> " + islinux()     + nl
+       see "IsFreeBSD()   --> " + isfreebsd()   + nl
+       see "IsAndroid()   --> " + isandroid()   + nl
+
+実行結果:
+
+.. code-block:: ring
+
+       IsMSDOS()     --> 0
+       IsWindows()   --> 1
+       IsWindows64() --> 0
+       IsUnix()      --> 0
+       IsMacOSX()    --> 0
+       IsLinux()     --> 0
+       IsFreeBSD()   --> 0
+       IsAndroid()   --> 0
+
+.. index:: 
+       pair: システム関数; Windowsnl() 関数
+
+Windowsnl() 関数
+================
+
+Windowsnl() 関数は Windows の改行文字を取得します。
+
+文法:
+
+.. code-block:: ring
+
+       WindowsNL() → CR+LF = CHAR(13) + CHAR(10) から構成される文字列
+
+用例:
+
+.. code-block:: ring
+
+       cStr = read("input.txt")
+
+       if iswindows()
+               cStr = substr(cStr,windowsnl(),nl)
+       ok
+
+       aList = str2list(cStr)
+       # 課題 - リストの項目処理で "for in" を使用する
+       cStr = list2str(aList)
+
+       if iswindows()
+               cStr = substr(cStr,nl,windowsnl())
+       ok
+
+       write("ouput.txt",cStr)
+
+.. index:: 
+       pair: システム関数; コマンドライン引数の取得
+
+コマンドライン引数の取得
+========================
+
+Ring スクリプトへ渡されたコマンドライン引数を得るには、リスト形式の変数 sysargv を使用します。
+
+用例:
+
+.. code-block:: ring
+
+       see copy("=",30) + nl
+       see "Command Line Parameters" + nl
+       see "Size : " + len(sysargv) + nl
+       see sysargv
+       see copy("=",30) + nl
+       if len(sysargv) < 4 return ok
+       nStart = sysargv[3]
+       nEnd = sysargv[4]
+       for x = nStart to nEnd
+               see x + nl
+       next
+
+実行結果:
+
+.. code-block:: ring
+
+       b:\mahmoud\apps\ring>ring tests\syspara.ring 1 10
+       ==============================
+       Command Line Parameters
+       Size : 4
+       ring
+       tests\syspara.ring
+       1
+       10
+       ==============================
+       1
+       2
+       3
+       4
+       5
+       6
+       7
+       8
+       9
+       10
+
+.. index:: 
+       pair: システム関数; 使用中のソースファイル名を取得
+
+使用中のソースファイル名を取得
+==============================
+
+filename() 関数は現在使用中のソースファイル名 (\*.ring) を取得します。
+
+文法:
+
+.. code-block:: ring
+
+       filename() → この文字列は現在使用中のソースファイル名です。
+
+用例:
+
+.. code-block:: ring
+
+       see "Active Source File Name : " + filename() + nl
+
+実行結果:
+
+.. code-block:: ring
+
+       Active Source File Name : tests\filename.ring
+
+
+用例:
+
+.. code-block:: ring
+
+       if sysargv[2] = filename()
+               see "I'm the main program file!" + nl
+               # ここでテスト実行ができます!
+       else
+               see "I'm a sub file in a program" + nl
+       ok
+
+
+.. index:: 
+       pair: システム関数; PrevFileName() 関数
+
+PrevFileName() 関数
+=======================
+
+PrevFileName() 関数は以前使用中であったソースファイル名を取得します。
+
+以前のファイルは呼び出し元の関数を有するファイル、または PrevFileName() を呼び出す前に呼び出された関数を有するファイルです。
+
+文法:
+
+.. code-block:: ring
+
+       prevfilename() → この文字列は以前使用中であったソースファイル名です。
+
+用例:
+
+この関数では「呼び出し元にある関数を有するファイル」は「プログラムのメインソース」であるかどうかの判定に
+stdlib.ring の PrevFileName() を使用しています。
+
+.. code-block:: ring
+
+       Func IsMainSourceFile
+               if PrevFileName() = sysargv[2]
+                       return true
+               ok
+               return false
+
+.. index:: 
+       pair: システム関数; CurrentDir() 関数
+
+CurrentDir() 関数
+=====================
+
+現在のディレクトリをパスを返します。
+
+文法:
+
+.. code-block:: ring
+
+       CurrenDir() → この文字列は現在のディレクトリのパスです。
+
+.. index:: 
+       pair: システム関数; ExeFileName() 関数
+
+ExeFileName() 関数
+======================
+
+Ring の実行可能ファイル名を返します。
+
+文法:
+
+.. code-block:: ring
+
+       exefilename() → この文字列は Ring の実行可能ファイル名です。
+
+.. index:: 
+       pair: システム関数; ChDir() 関数
+
+ChDir() 関数
+================
+
+現在のディレクトリを変更します。
+
+文法:
+
+.. code-block:: ring
+
+       ChDir(cNewPath)
+
+.. index:: 
+       pair: システム関数; ExeFolder() 関数
+
+ExeFolder() 関数
+====================
+
+Ring の実行可能ファイルがあるパスを返します。
+
+文法:
+
+.. code-block:: ring
+
+       exefolder() → この文字列は Ring の実行可能ファイルがあるパスです。
+
+.. index:: 
+       pair: システム関数; Version() 関数
+
+Version() 関数
+==============
+
+Ring のバージョン情報を返します。
+
+文法:
+
+.. code-block:: ring
+
+       version() → この文字列は Ring のバージョンです。
+
+実行結果:
+
+.. code-block:: ring
+
+       1.12
+
+
+.. index:: 
+       pair: システム関数; Shutdown() 関数
+
+Shutdown() 関数
+===============
+
+アプリケーションを閉じます。
+
+文法:
+
+.. code-block:: ring
+
+       shutdown(nStatus) → アプリケーションを閉じます。
+