変数

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

文法:

<変数名> = <>

ちなみに

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

注釈

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

動的型付け

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