Elixir编程:元组与逻辑控制
1. 忽略参数
在Elixir中,可以使用下划线 _ 来故意忽略函数参数。以下是示例代码:
defmodule Drop2 do
def fall_velocity(_, distance) when distance >= 0 do
:math.sqrt(2 * 9.8 * distance)
end
end
使用下划线后,编译器不会发出警告,并且查看代码的人会知道第一个参数是无用的。示例调用如下:
iex(4)> r(Drop2)
warning: redefining module Drop2 (current version loaded
from _build/dev/lib/drop/ebin/Elixir.Drop2.beam)
lib/drop2.ex:1
{:reloaded, Drop2, [Drop2]}
iex(5)> Drop2.fall_velocity(:you_dont_care, 20)
19.79898987322333
可以多次使用下划线来忽略多个参数。它在模式匹配中可以匹配任何内容,并且不会绑定变量,因此不会产生冲突。还可以使用以下划线开头的变量,如 _planemo ,如果不使用这些变量,编译器也不会发出警告。但如果在一组参数中多次使用相同的变量名(即使以下划线开头),编译器会因尝试多次绑定同一名称而报错。
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



