我有一个类,它会检查用户的环境,看看他们是否安装了python
,这个类的目的是检查用户是否安装了多个版本的python,而不是默认安装三个版本:
class CheckForPythonicVariables
class << self
def find_python_env_var
py_path = [] # Results of the python env variables
env_vars = ENV.to_h
items = env_vars["Path"].split(";") # Split the environment variables into an array
items.each { |var|
if var.to_s.include?("Python") # Do you have python?
py_path.push(var)
end
}
py_path.each { |python|
if python.include?("Python27") # Python 2.7.x?
return true
elsif python.include?("Python3") # Python 3.x.x?
return false
else
raise "You do not have python installed"
end
}
end
end
end
现在这是可行的,但它只适用于Windows和一些Linux OS
,显然Parrot
不在其中。有没有一种方法可以通过非字母的任何内容来#split()
环境变量?例如:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
环境变量: Windows Parrot环境变量:Windows
注意变量是如何被分号(;
)或冒号(:
)拆分的,有没有一种方法可以在Ruby语言中使用#split()
函数,并拆分任何非字母数字字符或数字?或者,有没有更好的方法来确保用户的环境变量中有python 2.7.x
?
https://stackoverflow.com/questions/41396248
复制相似问题