对于nooby的随机rails/ruby问题,非常感谢。什么“?”做?什么是__FILE__?
混淆了第二个'?'意味着该行:
@page ||= params[:page].blank? ? 1 : params[:page].to_i
在init.rb文件,这是什么FILE做真的吗?
require File.join(File.dirname(__FILE__), "rails", "init")
对于nooby的随机rails/ruby问题,非常感谢。什么“?”做?什么是__FILE__?
混淆了第二个'?'意味着该行:
@page ||= params[:page].blank? ? 1 : params[:page].to_i
在init.rb文件,这是什么FILE做真的吗?
require File.join(File.dirname(__FILE__), "rails", "init")
第一个?是方法名称的一部分,这是一种用于返回布尔结果的方法的约定。
第二?是内联有条件的经营者:
a ? b : c
相当于
if a then
b
else
c
end
__FILE__
是一个内核函数返回当前文件的文件名。 File.dirname(__FILE__)
将只返回目录名当前文件,并File.join
相同Array#join
与OS特定的目录分隔符(/
在Linux/OSX和\
在Windows上)
1)这是一个三元表达,将第二个问号基本上是“然后”,意思是实质上的“else”之后它结肠。整个事情可以改写:
if params[:page].blank?
1
else
params[:page].to_i
end
2)__FILE__
是对当前文件的引用,在这种情况下init.rb
。
如果你有两个独立的问题,让他们在单独的问题中,即使它们看起来微不足道。 – 2010-11-04 23:08:46