用法:
broadcast(f, As...)
在數組、元組、集合、
和/或標量 Ref
As
上廣播函數 f
。
廣播將函數 f
應用於容器參數的元素和 As
中的標量本身。通過虛擬重複值,擴展單例和缺失維度以匹配其他參數的範圍。默認情況下,隻有有限數量的類型被視為標量,包括 Number
s、String
s、Symbol
s、Type
s、Function
s 和一些常見的單例,如
和 missing
.所有其他參數都被迭代或索引到元素中。nothing
生成的容器類型由以下規則建立:
- 如果所有參數都是標量或零維數組,則返回未包裝的標量。
- 如果至少一個參數是元組,而所有其他參數都是標量或零維數組,則它返回一個元組。
- 所有其他參數組合默認返回
Array
,但自定義容器類型可以定義自己的實現和 promotion-like 規則來自定義結果,當它們顯示為參數時。
廣播存在一種特殊語法:f.(args...)
等價於 broadcast(f, args...)
,並且嵌套的 f.(g.(args...))
調用被融合到單個廣播循環中。
例子
julia> A = [1, 2, 3, 4, 5]
5-element Vector{Int64}:
1
2
3
4
5
julia> B = [1 2; 3 4; 5 6; 7 8; 9 10]
5×2 Matrix{Int64}:
1 2
3 4
5 6
7 8
9 10
julia> broadcast(+, A, B)
5×2 Matrix{Int64}:
2 3
5 6
8 9
11 12
14 15
julia> parse.(Int, ["1", "2"])
2-element Vector{Int64}:
1
2
julia> abs.((1, -2))
(1, 2)
julia> broadcast(+, 1.0, (0, -2.0))
(1.0, -1.0)
julia> (+).([[0,2], [1,3]], Ref{Vector{Int}}([1,-1]))
2-element Vector{Vector{Int64}}:
[1, 1]
[2, 2]
julia> string.(("one","two","three","four"), ": ", 1:4)
4-element Vector{String}:
"one: 1"
"two: 2"
"three: 3"
"four: 4"
相關用法
- Julia Broadcast.broadcastable用法及代碼示例
- Julia Broadcast.broadcast!用法及代碼示例
- Julia Broadcast.@__dot__用法及代碼示例
- Julia Broadcast.combine_styles用法及代碼示例
- Julia Broadcast.result_style用法及代碼示例
- Julia Base64.Base64DecodePipe用法及代碼示例
- Julia Base64.Base64EncodePipe用法及代碼示例
- Julia BitArray方法用法及代碼示例
- Julia Base64.base64decode用法及代碼示例
- 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用法及代碼示例
注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.Broadcast.broadcast — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。