Ruby 关于 begin expression end 这种用法

niedhui · 2012年05月10日 · 最后由 comme 回复于 2012年05月10日 · 3330 次阅读

看到 shopqi 的代码里面很多这种用法

begin 'from pay gateway'
  begin '支付宝'
    def notify
    end
  end

  begin '财付通'
  end
end

基础没打好啊,只知道 begin;rescue;end 这种用法。不晓得像 shopqi 这种用法是为了代码组织的好一点?就像

#### 以下是支付宝相关代码
def notify
end

#### 以下是财付通相关代码

还是有其他功能 @saberma

匿名 #1 2012年05月10日

代码组织也是用 module 啊,而且缩进一会 4 个空格,一会 2 个空格,notity?notify ?

应该就是乱写的

还有人这么玩的吗?这样做也没法截获异常呀,还是会抛出来。奇怪的风格。

"shitty" code?

这也是一种代码的组织方式。实践中,也有人使用的。

@niedhui 代码组织有很多种方法,可以使用 module,可以分多个不同的 controller,这里采用了最简单的方法: 用 begin ... end 包着逻辑相关的代码,比如你举例的代码块就是订单中与支付网关相关的,而支付网关又细分出支付宝、财付通

另外,能不能把缩进统一改为 两个空格notity 改回 notify

#6 楼 @saberma 不好意思,主要是好奇 begin..end 这种写法是为了代码组织方便,还是有其他功能,所以没太注意缩进和拼写。 ;)

表示第一次见 很不习惯啊

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