qew*_*w d 2 .net f# functional-programming
我刚刚开始使用F#和函数式编程.我想知道如何在一个元组中创建一个函数,我定义第一个值必须是一个字符串,而不是标准的int.
例:
复制字符串的函数s,n次数并返回它.我现在拥有的是:
let rec pow2 = function
| (s:string,0) -> ""
| (s:string,n) -> s + pow2(s,n-1)
Run Code Online (Sandbox Code Playgroud)
这有效,但我认为有一种比定义s:string每个案例更好的方法.
(我知道String.replicate,这不是为了效果,而是学习)
实际上,这里不需要类型注释.第""一个模式匹配中的返回值足以为编译器提供足够的提示:
> let rec pow2 = function
| (s,0) -> ""
| (s,n) -> s + pow2(s,n-1);;
val pow2 : string * int -> string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |