相关疑难解决方法(0)

如何重构所需的else子句?

我有一个看起来有点像这样的C#方法:

bool Eval() {
  // do some work
  if (conditionA) {
     // do some work
     if (conditionB) {
       // do some work
       if (conditionC) {
         // do some work
         return true;
       }
     }
  }
  return false;
}
Run Code Online (Sandbox Code Playgroud)

在F#中,由于强制性的其他分支,这最终看起来有点丑陋:

let eval() =
  // do some work
  if conditionA then
    // do some work
    if conditionB then
      // do some work
      if conditionC then
        // do some work
        true
      else
        false
    else
      false
  else
    false
Run Code Online (Sandbox Code Playgroud)

用F#写这个更干净的方法是什么?

c# f#

7
推荐指数
4
解决办法
581
查看次数

标签 统计

c# ×1

f# ×1