新手问题 怎么终止程序运行(不往下执行代码)单并不退出程序?

rubysir · 2014年10月08日 · 最后由 hging 回复于 2014年10月09日 · 10098 次阅读

我只是想中断当前代码向下运行,即后边的代码不执行;而不是退出程序! 代码如下:

if 1<2
  p 'ok'
else
  p 'no'
  # return #这里使用return出错!哪么怎么停在这里(不继续执行最后一行打印输出代码)呢?
end
p '阿弥陀佛'

------如果修改为如下代码,虽然可以,但并不是我想要的-----------------------------------

if 1<2
  p 'ok'
else
  p 'no'
  p '阿弥陀佛'
end

请各位指教! 多谢!

无限循环 loop

调试的话上 pry?

#1 楼 @flowerwrong 无限循环可以实现,但我这里就是 if..else..end 结构,不使用循环结构。谢谢!

#2 楼 @piecehealth 感谢您的回复!使用gets()可以实现,但总感觉不如c#中的return更简洁易懂!

#5 楼 @rubysir 把c#代码贴出来看看怎么简洁易懂。

#3 楼 @bydmm 非调试。谢谢!

#6 楼 @piecehealth 如果是 c#,直接使用 return 返回,如下:

if 1<2
  p 'ok'
else
  p 'no'
  return
end
p '阿弥陀佛'

#8 楼 @rubysir 你想用的应该是exit吧,你的意思应该是c#里return的是mian方法吗? c#写这段代码

class Program
{
    static void Main(string[] args)
    {
        if(1 < 2)
            Console.WriteLine("OK");
        else {
            Console.WriteLine("No");
            return;
        }
        Console.WriteLine("阿弥陀佛");
    }
}

不光达不到你要效果,还会有 else 分支永远执行不到的 warning。

#9 楼 @piecehealth c#里,a方法中有个return,意思是返回到调用a方法的地方。此时,程序不会关闭,只是返回到调用它的地方。(不自信,因为也不精通c#;不再ide下,还真写不出来代码!)

#10 楼 @rubysir ruby 在方法里 return 也可以啊,你没有试过么。

#11 楼 @piecehealth 阿弥陀佛!我起初在 ruby 里使用 return 的时候,报错。然后将 return 语句写到一个函数里,然后调用这个函数,就不报错了,实现了想要的效果!【我以为 ruby 是动态语言,代码从头到尾次第执行,当执行到 return 时,报 (Invalid return (SyntaxError)) 错误,以为 ruby 里边没有这个关键字!没有深究。】再次感谢!

看到标题我以为我又可以学到一招了,但看了看下面的回复。。。

好吧。我觉得应该楼主想实现的是线程的东西。不知道猜的对不...不过还是搞不定。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号