如何在其他函数内部为现有函数设置本地别名,例如将linge重命名为lg
函数本地别名设置通用方案
大部分支持一等函数特性的编程语言,都可以通过「给原有函数对象绑定局部变量名」的方式实现本地别名,别名仅在当前函数作用域内生效,不会污染全局命名空间,调用效果和原函数完全一致,也没有额外性能开销。
以下是常见编程语言的实现示例:
Python
首先是你已经定义好的linge函数:
def linge(*args, **kwargs): # 你的函数原有逻辑 print("linge执行", args, kwargs)
在其他函数内部设置本地别名的方式:
def your_other_func(): # 直接赋值生成局部别名,仅在当前函数内有效 lg = linge # 用别名调用即可 lg(1, 2, test_param="test")
如果要避免赋值到非可调用对象,可以加一层校验:
def your_other_func(): if callable(linge): lg = linge else: raise TypeError("linge不是可调用的函数对象") lg()
JavaScript
已定义的linge函数:
function linge(...args) { console.log("linge执行", args) }
本地别名设置:
function yourOtherFunc() { // 用const/let声明局部别名即可 const lg = linge lg(1, 2, 3) }
Bash 脚本
已定义的linge函数:
linge() { echo "linge执行 $*" }
本地别名设置:
your_other_func() { # 开启非交互模式下的别名扩展 shopt -s expand_aliases # 设置本地别名 alias lg='linge' # 调用 lg 1 2 3 }
内容的提问来源于stack exchange,提问作者Angio
相关产品推荐
相关产品推荐

