【发布时间】:2018-03-08 18:37:50
【问题描述】:
我假设它把它当作
a.b = (B.new (a.b.c = C.new))
这是行:
request.transactionRequest.payment = PaymentType.new request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123')
https://developer.authorize.net/hello_world/
我假设它会将其视为
request.transactionRequest.payment = ( PaymentType.new ( request.transactionRequest.payment.creditCard = CreditCardType.new('4242424242424242','0220','123') ) )
如果payment 已经设置好了,如何分配payment.creditCard?那不会产生零指针错误吗?即使它有效,当你刚刚设置payment.creditCard时,你为什么要这样做覆盖payment?
【问题讨论】:
-
写这样的代码是你遇到麻烦的地方。在一行中进行多项作业的动机是什么?
-
@tadman 您是否假设我创建了 Authorize.net 页面和代码?
-
a.b.c = C.new可以被认为具有C.new的值,但作为副作用分配给变量。我很确定您显示的代码只有在之前定义了a.b时才有效。 -
从你的问题中不清楚它是从哪里来的。那个外部链接只是被扔在那里没有解释。
-
那个示例代码太糟糕了。浮动货币价值!?
标签: ruby authorize.net