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

rubysir · October 08, 2014 · Last by hging replied at October 09, 2014 · 10064 hits

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

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 里边没有这个关键字!没有深究。】再次感谢!

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

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

You need to Sign in before reply, if you don't have an account, please Sign up first.