Godot 4.0一个简单的匿名方法的使用lambda
Posted 张学徒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Godot 4.0一个简单的匿名方法的使用lambda相关的知识,希望对你有一定的参考价值。
Godot 4.0 beta3
Godot 4.0 中添加了 lambda 表达式,匿名方法等很多方便的特性,这里我写个用于扫描目录下所有文件的功能
可以看到代码非常简洁
func test():
# Callable 方法,扫描目录下所有的文件
# [code]path[/code] 要扫描的路径
# [code]callback[/code] 回调方法,这里用来再次调用自己
# [code]list[/code] 存入路径到这个数组里
var scan_dir = func(path:String, callback:Callable, list: Array):
var dir = DirAccess.open(path)
if dir:
# 添加文件
list.append_array(Array(dir.get_files()).map( func(file):
# 给文件名加上路径
return path.path_join(file)
) )
# 继续递归扫描
for d in dir.get_directories():
callback.call(path.path_join(d), callback, list)
# 执行方法
var file_list = []
scan_dir.call("res://", scan_dir, file_list)
# 输出目录及子目录下所有文件
print(file_list) 作者:学徒的小窝 https://www.bilibili.com/read/cv19194651?spm_id_from=333.999.list.card_article.click 出处:bilibili
以上是关于Godot 4.0一个简单的匿名方法的使用lambda的主要内容,如果未能解决你的问题,请参考以下文章