相关疑难解决方法(0)

在Ruby中,我应该使用|| =还是定义?记忆?

我应该用吗? if defined?

 return @current_user_session if defined?(@current_user_session)
 @current_user_session = UserSession.find
Run Code Online (Sandbox Code Playgroud)

要么 ||=

@current_user_session ||= UserSession.find
Run Code Online (Sandbox Code Playgroud)

我注意到if defined?最近使用的方法越来越多.一个人对另一个人有什么好处吗?就个人而言,我更喜欢||=可读性.我也认为Rails可能有一个memoize透明地提供这种行为的宏.是这样的吗?

ruby ruby-on-rails memoization

15
推荐指数
1
解决办法
6276
查看次数

在Ruby中为什么不会`foo = true除非定义?(foo)`进行赋值?

这里发生了什么?两种形式"除非"之间的细微差别是什么?

> irb(main):001:0> foo = true unless defined?(foo)
=> nil 
irb(main):002:0> unless defined?(fooo) ; fooo = false ; end
=> false 
Run Code Online (Sandbox Code Playgroud)

谢谢

ruby

14
推荐指数
2
解决办法
2224
查看次数

标签 统计

ruby ×2

memoization ×1

ruby-on-rails ×1