🍩Ring 1.12:docs

- News
- Download
- Get Help
- Contribute
- Resources
- Team
- Website
- Index

### ナビゲーション

- 次へ »
- » 前へ |
- プログラミング言語 Ring 1.12 取扱説明書 »
- システム関数

# システム関数

システム関数の用法を学びます。

- System()
- SysGet()
- IsMSDOS()
- IsWindows()
- IsWindows64()
- IsUnix()
- IsMacOSX()
- IsLinux()
- IsFreeBSD()
- IsAndroid()
- Windowsnl()
- コマンドライン引数の取得
- 使用中のソースファイル名を取得
- CurrentDir()
- ExeFileName()
- ChDir()
- ExeFolder()
- Version()
- Shutdown()

## System() 関数

System() 関数はシステムコマンドを実行します。

文法:

    System(cCommand)

用例:

    System("myapp.exe")     # myapp.exe の実行
    System("ls")            # ファイルのリストを表示

## SysGet() 関数

SysGet() 関数は環境変数を取得します。

文法:

    SysGet(cVariable)

用例:

    see sysget("path")              # システムパスの情報を表示

## IsMSDOS() 関数

IsMSDOS() 関数はオペレーティングシステムが MS-DOS であるかどうかを確認します。

文法:

    IsMSDOS()
            → オペレーティングシステムが MS-DOS ならば 1 を、そうでなければ 0 を返します。

## IsWindows() 関数

IsWindows() 関数はオペレーティングシステムが Windows であるかどうかを確認します。

文法:

    IsWindows()
            → オペレーティングシステムが Windows ならば 1 を、そうでなければ 0 を返します。

## IsWindows64() 関数

IsWindows64() 関数はオペレーティングシステムが 64bit 版の Windows であるかどうかを確認します。

文法:

    IsWindows64()
            → オペレーティングシステムが Windows64 ならば 1 を、そうでなければ 0 を返します。

## IsUnix() 関数

IsUnix() 関数はオペレーティングシステムが UNIX であるかどうかを確認します。

文法:

    IsUnix()
            → オペレーティングシステムが UNIX ならば 1 を、そうでなければ 0 を返します。

## IsMacOSX() 関数

IsMacOSX() 関数はオペレーティングシステムが macOS であるかどうかを確認します。

文法:

    IsMacOSX()
            → オペレーティングシステムが macOS ならば 1 を、そうでなければ 0 を返します。

## IsLinux() 関数

IsLinux() 関数はオペレーティングシステムが Linux であるかどうかを確認します。

文法:

    IsLinux()
            → オペレーティングシステムが Linux ならば 1 を、そうでなければ 0 を返します。

## IsFreeBSD() 関数

IsFreeBSD() 関数はオペレーティングシステムが FreeBSD であるかどうかを確認します。

文法:

    IsFreeBSD()
            → オペレーティングシステムが FreeBSD ならば 1 を、そうでなければ 0 を返します。

## IsAndroid() 関数

IsAndroid() 関数はオペレーティングシステムが Android であるかどうかを確認します。

文法:

    IsAndroid()
            → オペレーティングシステムが Android ならば 1 を、そうでなければ 0 を返します。

## 用例

    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

実行結果:

    IsMSDOS()     --> 0
    IsWindows()   --> 1
    IsWindows64() --> 0
    IsUnix()      --> 0
    IsMacOSX()    --> 0
    IsLinux()     --> 0
    IsFreeBSD()   --> 0
    IsAndroid()   --> 0

## Windowsnl() 関数

Windowsnl() 関数は Windows の改行文字を取得します。

文法:

    WindowsNL() → CR+LF = CHAR(13) + CHAR(10) から構成される文字列

用例:

    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)

## コマンドライン引数の取得

Ring スクリプトへ渡されたコマンドライン引数を得るには、リスト形式の変数 sysargv を使用します。

用例:

    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

実行結果:

    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

## 使用中のソースファイル名を取得

filename() 関数は現在使用中のソースファイル名 (*.ring) を取得します。

文法:

    filename() → この文字列は現在使用中のソースファイル名です。

用例:

    see "Active Source File Name : " + filename() + nl

実行結果:

    Active Source File Name : tests\filename.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

## PrevFileName() 関数

PrevFileName() 関数は以前使用中であったソースファイル名を取得します。

以前のファイルは呼び出し元の関数を有するファイル、または PrevFileName() を呼び出す前に呼び出された関数を有するファイルです。

文法:

    prevfilename() → この文字列は以前使用中であったソースファイル名です。

用例:

この関数では「呼び出し元にある関数を有するファイル」は「プログラムのメインソース」であるかどうかの判定に stdlib.ring の PrevFileName() を使用しています。

    Func IsMainSourceFile
            if PrevFileName() = sysargv[2]
                    return true
            ok
            return false

## CurrentDir() 関数

現在のディレクトリをパスを返します。

文法:

    CurrenDir() → この文字列は現在のディレクトリのパスです。

## ExeFileName() 関数

Ring の実行可能ファイル名を返します。

文法:

    exefilename() → この文字列は Ring の実行可能ファイル名です。

## ChDir() 関数

現在のディレクトリを変更します。

文法:

    ChDir(cNewPath)

## ExeFolder() 関数

Ring の実行可能ファイルがあるパスを返します。

文法:

    exefolder() → この文字列は Ring の実行可能ファイルがあるパスです。

## Version() 関数

Ring のバージョン情報を返します。

文法:

    version() → この文字列は Ring のバージョンです。

実行結果:

    1.12

## Shutdown() 関数

アプリケーションを閉じます。

文法:

    shutdown(nStatus) → アプリケーションを閉じます。