首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
Julia简介
Julia 语言安装
Julia 交互式命令
Julia 基本语法
Julia 数组
Julia 元组
Julia 数据类型
Julia 复数和有理数
Julia 基本运算符
Julia 数学函数
Julia 字符串
Julia 正则表达式
Julia 函数
Julia 流程控制
Julia 字典和集合
Julia 日期和时间
Julia 文件读写
Julia元编程
当前位置:
首页>>
技术小册>>
Julia入门教程
小册名称:Julia入门教程
Julia的元组与数组类似,都是有序的元素集合,不同之处在于元组的元素不能修改。 另外元组使用小括号 (...),数组使用方括号 [...]。 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可,数组中的很多函数也可以在元组中使用。 如下实例: 实例 ``` julia> tupl=(5,10,15,20,25,30) # 创建一个元组 (5, 10, 15, 20, 25, 30) julia> tupl (5, 10, 15, 20, 25, 30) julia> tupl[3:end] # 输出第三个到最后一个元素的元组 (15, 20, 25, 30) julia> tupl = ((1,2),(3,4)) # 创建二维元组 ((1, 2), (3, 4)) julia> tupl[1] # 访问二维元组元素,输出第一维元组 (1, 2) julia> tupl[1][2] # 访问二维元组元素,输出第一维元组的第二个元素 2 ``` 元组的元素是不能修改,如果我们尝试修改它就回报错: 实例 ``` julia> tupl2=(1,2,3,4) (1, 2, 3, 4) julia> tupl2[2]=0 ERROR: MethodError: no method matching setindex!(::NTuple{4, Int64}, ::Int64, ::Int64) Stacktrace: [1] top-level scope @ REPL[8]:1 ``` ###元组命名 我们可以为元组命名,从而可以更方便的访问它。 以下列出了几种不同元组的命名方式。 1、元组中的键(key)和值(value)分开命名 元组中的键(key)和值(value)可以分开独立命名,实例如下: 实例 ``` julia> names_shape = (:corner1, :corner2) (:corner1, :corner2) julia> values_shape = ((100, 100), (200, 200)) ((100, 100), (200, 200)) julia> shape_item2 = NamedTuple{names_shape}(values_shape) (corner1 = (100, 100), corner2 = (200, 200)) ``` 我们可以使用 . 点号来访问元组: 实例 ``` julia> shape_item2.corner1 (100, 100) julia> shape_item2.corner2 (200, 200) ``` 2、键(key)和值(value)同时在一个元组中 键(key)和值(value)可以同时在一个元组中,实例如下: 实例 ``` julia> shape_item = (corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0)) (corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0)) ``` 我们可以使用 . 点号来访问元组: 实例 ``` julia> shape_item.corner1 (1, 1) julia> shape_item.corner2 (-1, -1) julia> shape_item.center (0, 0) julia> (shape_item.center,shape_item.corner2) ((0, 0), (-1, -1)) ``` 我们还可以像使用普通元组一样访问所有值,如下所示: 实例 ``` julia> c1, c2, center = shape_item (corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0)) julia> c1 (1, 1) ``` 3、合并两个已命名的元组 我们可以使用 merge() 函数来合并两个已命名的元组,实例如下: 实例 ``` julia> colors_shape = (top = "red", bottom = "green") (top = "red", bottom = "green") julia> shape_item = (corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0)) (corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0)) julia> merge(shape_item, colors_shape) (corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0), top = "red", bottom = "green") ``` ###元组作为函数参数 以下实例我们创建一个 testFunc 函数,并将元组 options 作为参数传入: 实例:test.jl 文件代码 ``` # 创建函数 function testFunc(x, y, z; a=10, b=20, c=30) println("x = $x, y = $y, z = $z; a = $a, b = $b, c = $c") end # 创建元组 options = (b = 200, c = 300) # 执行函数,元组作为参数传入 testFunc(1, 2, 3; options...) ``` 使用 julia 命令执行以上文件,输出结果为: ``` $ julia test.jl x = 1, y = 2, z = 3; a = 10, b = 200, c = 300 ``` 如果指定的参数在元组后面,则会覆盖元组中已有的参数: 实例 ``` # 创建函数 function testFunc(x, y, z; a=10, b=20, c=30) println("x = $x, y = $y, z = $z; a = $a, b = $b, c = $c") end # 创建元组 options = (b = 200, c = 300) # 执行函数,元组作为参数传入,指定参数在元组前,不会覆盖 testFunc(1, 2, 3; b = 1000_000, options...) # 执行函数,元组作为参数传入,指定参数在元组后,会覆盖 testFunc(1, 2, 3; options..., b= 1000_000) ``` 使用 julia 命令执行以上文件,输出结果为: ``` $ julia test.jl x = 1, y = 2, z = 3; a = 10, b = 200, c = 300 x = 1, y = 2, z = 3; a = 10, b = 1000000, c = 300 ```
上一篇:
Julia 数组
下一篇:
Julia 数据类型
该分类下的相关小册推荐:
暂无相关推荐.