【发布时间】:2013-09-24 00:24:24
【问题描述】:
我只是尝试运行一些看起来像这样的代码
def get_proj4(srid, type=nil)
type.downcase! if type
case type
when nil || "epsg"
open("http://spatialreference.org/ref/epsg/#{srid}/proj4/").read
when "esri"
open("http://spatialreference.org/ref/esri/#{srid}/proj4/").read
end
end
它没有正常运行,每次都返回 nil。将 nil || "epsg" 括在括号中也不起作用
原来 ruby 不允许我在此使用 || 运算符
现在我假设 ruby 采用 case/when 方法并最终将其分解为一组看起来像这样的条件
x = type
if x == (nil || "epsg")
y = ...runs code...
elsif x == "esri"
y = ...
end
x = nil
y
但显然不是。这是怎么回事?
谢谢
【问题讨论】:
标签: ruby conditional case or-operator andand