【问题标题】:How to stop a method from other method如何从其他方法中停止一个方法
【发布时间】:2013-02-06 19:52:57
【问题描述】:

是否可以调用另一个方法来检查某些东西,比如布尔值,然后停止它(返回或放弃)?我的意思是:

方法一: 代码 调用方法2:? 代码

方法二: 如果(不管){ 使方法1返回 } 别的{ 继续 }

编辑:是的 java 抱歉,感谢您的回答!也是的,我知道如何以这种方式使用布尔值,这并没有解决我的问题,不想检查返回的布尔值,我想直接让方法 1 返回,我想这是不可能的,但无论如何谢谢 :)

【问题讨论】:

  • 您是在问是否有办法在没有检查的情况下停止方法?
  • 我想知道您是在寻找return; 还是longjmp()...
  • 使用哪种语言? C# ?爪哇? JavaScript 吗?等等……
  • @Berkay LOLcode

标签: methods


【解决方案1】:

哦,为了兑现我对 LOLcode 的承诺,这里有一个小函数,它根据其唯一的布尔参数返回或执行其他操作:

HOW DUZ I BREAK_OUTTA_FUNCTION YR FLAG
    IZ FLAG WIN, O RLY?
        YA RLY                                    BTW if flag is `WIN` (true)
           GTFO                                   BTW return
        NO WAY
            BTW do something else if `flag' is LOSE (false)
    OIC
IF U SAY SO

【讨论】:

    【解决方案2】:

    所以你基本上想要一种方法来强制调用方法退出?

    从方法中返回一个 out 参数或布尔值,以指示调用方法它需要退出。

    public void Method1()
    {
        if(!method2())
          return;
    
        // do stuff
    }
    
    public bool Method2()
    {
        if(check) {
           return false;
        }
    
        // do other stuff
        return true;
    }
    

    【讨论】:

      【解决方案3】:

      您可以使用布尔返回值/基于方法二的返回值的布尔条件。但是你不能真正转发一个return语句。我的示例是语言不分青红皂白,因为您没有提供语言。

      def methodOne(): 
          if (!methodTwo()):
              return
          else:
              <code>
      
      def methodTwo():
          if (whatever):
              return false
          else:
              <code>
      

      【讨论】:

        猜你喜欢
        • 2011-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多