导图社区 【121】Julia总览
元编程还有很多没有学完,这份导图只是给大家看个大概,对Julia有个概念 如果有疑问请参考Julia中文社区
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
julia
专注
数值计算
并行计算
数学表达
数学符号
函数
数值表达
弥补不足
unicode支持
程序表达能力
继承方式
继承行为
单继承
强大工具
unicode
高并发机制
多态分发
元编程
函数式编程
内置包管理器
中科大镜像站
浙大镜像站
高维数组
混合编程
常用操作
字符串
时间
流
大杀器
泛型
通用概念
控制逻辑
类型系统
数值系统
What
编程自身
文本替换
s-表达式
代码即数据
When
代码延迟执行
添加语法规则
全新抽象
克服函数限制
How
定义
macro foo(arg)
#body
end
调用
@foo arg...
@foo(arg...)
插值
macro foo(a) :(a+1) end @foo 1---> UndefVarError: a not defined macro foo(a) :($a+1) end @foo 1-->2
$arg
引用表达式
quote end
注意
变量冲突
卫生宏
宏转义
quote
end |> esc
相关数据
Expr
Symbol
预定义宏
@show
@printf
@sprintf
@assert
@time
生成
常规
function foo(arg) #body end
函数对象
foo=func(这是一个函数)
匿名函数
funcition(arg) #body end 注意这个函数没有给定一个名称
参数
传递方式
共享传参
一些基本类型作为参数时传值 一些复杂类型传引用
传值
传引用
传递类型
不定参数
arg...
展开
键值参数
函数(有序参数表;键名1=值1,键名2=值2,...)
函数(有序参数表;键名1::类型1=值1...)
键名=值
:键名=>值
限定参数
返回值
nothing
最后一个数据
function foo() 1 end this function return 1
多返回值
类型
Function
作为参数
作为返回值
类型限定
function foo(val::Type)
参数化
function foo(val::T) where T
function foo(val::Int)
function foo(val::Float64)
继承
抽象基类
参数化继承
Type{T}
where {T1}
抽象类型
abstract type T end
abstract type Type{T} end
复合类型
struct Name
data
构造
内部
new
外部
可用函数对象
联合类型
Union{Type1,Type2}
Type1,Type2 <:this
无穷
无效值
非数值
数值类型
整型
浮点
布尔
实数
有理数
复数
标准流
输入
stdin
输出
stdout
错误输出
stderr
文件流
f=open(filename,mode)
readline(f)
readlines(f)
wtite(f,data)
游标操作
统一
读写游标
移动
seekstart(io)
seekend(io)
seek(io,pos)
当前位置
position(io)
标记
mark(io)
ismark(io)
unmark(io)
文件末尾
eof(io)
字节流
序列化
serialize(stream,obj)
反序列化
deserialize(stream)
远程传输
缓存流
IOBuffer
初始化
串联
范围表达式
推导式
辅助
zeros
ones
trues
falses
rand
randn
子主题
未初始化
Array{T}(undef,(维度,阶数))
索引
通用
for i in 1:length(arr)/lastindex(arr)
迭代
for i in arr
整体
矢量操作
map
map!
reduce
查找
findmax
findmin
转换
重组
reshape(arr,n...)
length
vec(arr)
[:]
罗列
hcat(arr-element)
vcat(arr-element)
hvcat(N,arr-element)
引用
局部
切片
范围切片
维度
阶数
视图
view
@view
eltype(A)
个数
length(A)
维数
ndims(A)
各维度
size(A)
指定维度
size(A,n)
多进程
内存独立
消息传递
Channel
共享数组
RemoteChannel
远程调用
启动
@spawn expression
@spawnat pid expression
取得结果
fetch(Future)
@fetch expression
@fetch pid expression
协程
用户级
轻量线程
非并发手段
闭包
@async expression
task
@task expression
schedule(task)
阻塞
操作
匹配
包含
occursin(str,string)
occursin(r::Uniomn{re,str},str)->Bool
char in string
提取
match
eachmatch
match captures
搜索
findfirst(chars,str)
findlast(chars,str)
string,regex
拼接
join([str...])
*
string(str/char...)
替换
replace(str,partten=>替换字符)
数值->string
string(num,base)
string->数值
parse(type,num,base)
切割
split(str,切割符)
正则
访问
遍历
迭代器
\u
ascii