當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Julia Broadcast.broadcastable用法及代碼示例

用法:

Broadcast.broadcastable(x)

返回 x 或類似 x 的對象,使其支持 axes 、索引,並且其類型支持 ndims

如果 x 支持迭代,則返回值應具有與 collect(x) 相同的 axes 和索引行為。

如果 x 不是 AbstractArray 但它支持 axes 、索引,並且其類型支持 ndims ,則可以實現 broadcastable(::typeof(x)) 以僅返回自身。此外,如果 x 定義了自己的 BroadcastStyle ,則它必須定義自己的 broadcastable 方法以返回自身,以使自定義樣式生效。

例子

julia> Broadcast.broadcastable([1,2,3]) # like `identity` since arrays already support axes and indexing
3-element Vector{Int64}:
 1
 2
 3

julia> Broadcast.broadcastable(Int) # Types don't support axes, indexing, or iteration but are commonly used as scalars
Base.RefValue{Type{Int64}}(Int64)

julia> Broadcast.broadcastable("hello") # Strings break convention of matching iteration and act like a scalar instead
Base.RefValue{String}("hello")

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.Broadcast.broadcastable — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。