用法:
view(A, inds...)
类似
,但返回一个轻量级数组,该数组在给定索引或索引 getindex
inds
处延迟引用(或实际上是 view
到)父数组 A
,而不是即刻地提取元素或构造复制的子集。在返回值(通常是
)上调用 SubArray
或 getindex
计算索引以动态访问或修改父数组。如果在调用setindex!
view
后更改父数组的形状,则行为未定义,因为没有对父数组进行绑定检查;例如,它可能会导致分段错误。
一些不可变的父数组(如范围)可能会选择在某些情况下简单地重新计算一个新数组,而不是返回 SubArray
,如果这样做是有效的并且提供兼容的语义的话。
Julia 1.6
在 Julia 1.6 或更高版本中,可以在 AbstractString
上调用 view
,返回 SubString
。
例子
julia> A = [1 2; 3 4]
2×2 Matrix{Int64}:
1 2
3 4
julia> b = view(A, :, 1)
2-element view(::Matrix{Int64}, :, 1) with eltype Int64:
1
3
julia> fill!(b, 0)
2-element view(::Matrix{Int64}, :, 1) with eltype Int64:
0
0
julia> A # Note A has changed even though we modified b
2×2 Matrix{Int64}:
0 2
0 4
julia> view(2:5, 2:3) # returns a range as type is immutable
3:4
相关用法
- Julia values用法及代码示例
- Julia vec()用法及代码示例
- Julia vcat用法及代码示例
- Julia valtype用法及代码示例
- Julia vec用法及代码示例
- Julia vect()用法及代码示例
- Julia vect用法及代码示例
- Julia splice!用法及代码示例
- Julia @cfunction用法及代码示例
- Julia LibGit2.count用法及代码示例
- Julia LinearAlgebra.BLAS.dot用法及代码示例
- Julia break用法及代码示例
- Julia sizeof()用法及代码示例
- Julia :<=用法及代码示例
- Julia zero()用法及代码示例
- Julia rem用法及代码示例
- Julia ...用法及代码示例
- Julia setfield()用法及代码示例
- Julia rpad用法及代码示例
- Julia sort用法及代码示例
- Julia tail用法及代码示例
- Julia cis方法用法及代码示例
- Julia SparseArrays.spdiagm用法及代码示例
- Julia Distributed.procs方法用法及代码示例
- Julia Filesystem.mkpath用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.view — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。