小编Sam*_*Sam的帖子

This()vs Target()aspectj

任何人都可以解释aspectj this()target()pointjuts 之间的区别.我尝试在其他地方找到这个,但似乎没有一个明确的答案.谢谢

java aspectj pointcut

9
推荐指数
1
解决办法
2937
查看次数

尾递归映射f#

我想编写一个尾递归函数,将F#中列表中的所有值乘以2.我知道有很多方法可以做到这一点,但我想知道这是否是一个可行的方法.这纯粹是出于教育目的.我意识到有一个内置功能为我做这个.

 let multiply m =
    let rec innerfunct ax = function
    | [] -> printfn "%A" m
    | (car::cdr) -> (car <- car*2 innerfunct cdr);
  innerfunct m;;



let mutable a = 1::3::4::[]
multiply a
Run Code Online (Sandbox Code Playgroud)

虽然我怀疑他们是唯一的问题但我得到了两个错误.

在我的第二个匹配条件下,此值不可变

该表达式是一个函数值,即缺少参数.它的类型是'列表 - >单位.因为我打电话的时候length a.

我对F#相当新,并且意识到我可能没有正确地调用该函数,但我无法弄清楚为什么.这对我来说主要是一种学习经验,因此解释比修复代码更重要.语法显然已关闭,但我可以将*2映射到列表,只需执行等效操作即可

car = car*2 然后调用列表的cdr上的内部函数.

f# tail-recursion map-function

3
推荐指数
1
解决办法
535
查看次数

标签 统计

aspectj ×1

f# ×1

java ×1

map-function ×1

pointcut ×1

tail-recursion ×1