标签: torch
火炬(lua)中require和include之间的区别是什么?当我们称之为include或require时它在后面做了什么? 例如:
include('util/test.lua') require('util/test.lua')
答案 0 :(得分:0)
在require中如果编译器找不到特定的文件,编译器将停止编译代码中的其他部分
但是如果编译器无法找到该文件,则包括在内,开始编译没有错误的其他代码部分
答案 1 :(得分:0)
火炬包含只是Lua dofile,可以在火炬source中看到:
function torch.include(package, file) dofile(torch.packageLuaPath(package) .. '/' .. file) end
另一方面,Lua require用于加载模块。另请参阅this answer。
粗略地说,要求与dofile完成相同的工作,但有两个重要的 差异。首先,要求在路径中搜索文件;第二, 要求控制是否已经运行文件以避免 重复工作。由于这些功能,需要的是 Lua中用于加载库的首选函数。