変数 — プログラミング言語 Ring 1.14 取扱説明書

Skip to content

# 変数

新しい変数を作成するには、変数名と値を定義します。 変数の型は値により決定します。 同名変数の値を変更することで型も変更されます。

文法:

    <変数名> = <値>

ちなみに

ここでは、演算子 '=' は代入演算子として扱いますが、 この演算子は式の等価性を評価するために条件文でも使います。

注釈

変数は実際の値を有しています (参照ではありません)。 すでにリストやオブジェクトが変数にあっても、 変数の値を変更すると、以前の古い値は削除されます。

## 動的型付け

Ring は 動的型付け を使う動的プログラミング言語です。

    x = "Hello"             # x は文字列です。
    see x + nl
    x = 5                   # x は数値です (int 型)。
    see x + nl
    x = 1.2                 # x は数値です (double 型)。
    see x + nl
    x = [1,2,3,4]           # x はリストです。
    see x                   # リストの項目を表示します。
    x = date()              # は日付入りの文字列です。
    see x + nl
    x = time()              # は時刻入りの文字列です。
    see x + nl
    x = true                # x は数値です (論理値 = 1)。
    see x + nl
    x = false               # x は数値です (論理値 = 0)。
    see x + nl

## 深いコピー

代入演算子 '=' は変数を完全にコピーします。 文字列と数値などの値のコピーに限らず、 リストとオブジェクトも完全にコピーします。 この処理は 深いコピー (Deep Copy) です。

    list = [1,2,3,"four","five"]
    list2 = list
    list = []
    See list        # 最初のリストを表示します - 項目を表示しません。
    See "********" + nl
    See list2       # 次のリストを表示します - 五項目あります。

## 暗黙的型変換

Ring は数値と文字列において自動型変換を行います。

変換規則:

    <数値> + <文字列> --> <数値>
    <文字列> + <数値> --> <文字列>

注釈

演算子 '+' は算術演算子、または文字列の連結にも使います。

用例:

    x = 10                  # x は数値です。
    y = "20"                # y は文字列です。
    sum = x + y             # sum は数値です (y は数値へ変換します)。
    Msg = "Sum = " + sum    # Msg は文字列 (sum は文字列へ変換します)。
    see Msg + nl