跳转到内容

Ring/教程/变量

来自维基教科书,自由的教学读本

要创建一个新变量,你只需要确定变量名和值。值将决定变量类型,你可以使用相同的变量名更改值以在类型之间切换。

语法

	
	<Variable Name> = <Value>

.. tip:

运算符 '=' 在这里用作赋值运算符,相同的运算符可以在条件中使用,但用于测试表达式的相等性。

.. note:

变量将包含实际值(而不是引用)。这意味着一旦你改变变量值,旧值将从内存中删除(即使变量包含列表或对象)。


动态类型

[编辑 | 编辑源代码]

Ring 是一种动态编程语言,它使用`动态类型 <http://en.wikipedia.org/wiki/Type_system>`_。

	x = "Hello"		# x is a string
	see x + nl
	x = 5			# x is a number (int)
	see x + nl
	x = 1.2 		# x is a number (double)
	see x + nl
	x = [1,2,3,4]		# x is a list
	see x 			# print list items
	x = date()		# x is a string contains date
	see x + nl
	x = time()		# x is a string contains time
	see x + nl
	x = true		# x is a number (logical value = 1)
	see x + nl
	x = false		# x is a number (logical value = 0)
	see x + nl

深拷贝

[编辑 | 编辑源代码]

我们可以使用赋值运算符 '=' 来复制变量。我们可以这样做来复制字符串和数字等值。此外,我们可以复制完整的列表和对象。赋值运算符将为我们进行完整的复制。此操作称为`深拷贝 <http://en.wikipedia.org/wiki/Object_copy#Deep_copy>`_


	list = [1,2,3,"four","five"]
	list2 = list
	list = []
	See list	# print the first list - no items to print
	See "********" + nl
	See list2	# print the second list - contains 5 items

弱类型

[编辑 | 编辑源代码]

Ring 是一种`弱类型语言 <http://en.wikipedia.org/wiki/Strong_and_weak_typing>`_,这意味着该语言可以在有意义的情况下自动在数据类型之间转换(如字符串和数字)。

规则

	<NUMBER> + <STRING> --> <NUMBER>
	<STRING> + <NUMBER> --> <STRING>

.. note:

相同的运算符 '+' 可以用作算术运算符或用于字符串连接。

示例

	x = 10			# x is a number
	y = "20"		# y is a string
	sum = x + y		# sum is a number (y will be converted to a number)
	Msg = "Sum = " + sum 	# Msg is a string (sum will be converted to a string)
	see Msg + nl


华夏公益教科书