julia笔记:函数

编程入门 行业动态 更新时间:2024-10-25 16:25:05

julia笔记:<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数"/>

julia笔记:函数

 1 函数的定义(两种方法)

function f(x,y)x + yend
#f (generic function with 1 method)
f(x,y) = x + y
#f(x,y) = x + y

2 匿名函数(两种方法)

function (x,y)x + yend
##3 (generic function with 1 method)
(x,y)->x + y
##5 (generic function with 1 method)

2.1 匿名函数应用:map

3 变参参数

  • “参数数量可变”的简称
  • 通过在最后一个参数后增加省略号来定义一个变参函数

4 函数参数中的do结构

  • 把函数作为参数传递给其他函数是一种强大的技术,但它的语法并不总是很方便
  • 当函数参数占据多行时,这样的调用便特别难以编写

比如,考虑在具有多种情况的函数上调用map

map(x->beginif x < 0 && iseven(x)return 0elseif x == 0return 1elsereturn xendend,[1,0,-1])
'''
3-element Vector{Int64}:11-1
'''

当然可以先定义函数f,然后将f送入map中

function f(x)beginif x < 0 && iseven(x)return 0elseif x == 0return 1elsereturn xendend
endmap(f,[1,0,-1])
'''
3-element Vector{Int64}:11-1
'''

还有一种方法是使用保留字do

do x 语法创建一个带有参数 x 的匿名函数,并将其作为第一个参数传递给 map

map([1,0,-1]) do xif x < 0 && iseven(x)return 0elseif x == 0return 1elsereturn xend
end
'''
3-element Vector{Int64}:11-1
'''

4.1 do函数与文件写入

open("outfile", "w") do iowrite(io, data)
end
  • do io 是一个使用 do 语法的块结构。这里,文件被打开并传递给后面的代码块,该代码块可以使用变量 io 来引用这个打开的文件
  • 使用 do 语法的好处是,代码块结束时,文件会自动关闭,这意味着你不需要显式地调用 close(io)

5 管道链式调用

把一个函数作用到前一个函数的输出上

5.1 和广播链式使用

["a", "list", "of", "strings"] .|> uppercase
'''
4-element Vector{String}:"A""LIST""OF""STRINGS"
'''["a", "list", "of", "strings"] .|> uppercase .|>reverse
'''
4-element Vector{String}:"A""TSIL""FO""SGNIRTS"
'''
["a", "list", "of", "strings"] .|> [uppercase, reverse, titlecase, length]
'''
4-element Vector{Any}:"A""tsil""Of"7
'''

更多推荐

julia笔记:函数

本文发布于:2023-12-05 06:18:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1663361.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   笔记   julia

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!