F#技术咨询:如何访问无参数名的函数参数?
如何访问F#中以类型名命名的参数
你写的这个函数能正常编译,是因为F#允许把string、int这类类型关键字当作参数名使用(但这是非常容易混淆的写法,强烈不推荐)。编译器会将它们识别为普通的参数标识符,而非类型声明。
要在函数内部访问这些参数,直接使用你定义的“参数名”(也就是string和int)就行,示例代码如下:
let testfunction string int = printfn "传入的字符串:%s,传入的整数:%d" string int testfunction "a" 5
运行这段代码后,F# Interactive会输出:
传入的字符串:a,传入的整数:5 val testfunction: string: 'a -> int: 'b -> unit val it: unit = ()
注意事项
- 尽管语法允许,但绝对不要用类型名作为参数名,这会让代码可读性大幅下降,后续维护时极易和类型声明混淆。
- 建议替换成有意义的参数名,比如
inputStr、num这类清晰的命名。
内容的提问来源于stack exchange,提问作者user19656855
相关产品推荐
相关产品推荐

