用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。