首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将数组拆分为任何不是字母的数组

将数组拆分为任何不是字母的数组
EN

Stack Overflow用户
提问于 2016-12-30 20:26:37
回答 1查看 134关注 0票数 1

我有一个类,它会检查用户的环境,看看他们是否安装了python,这个类的目的是检查用户是否安装了多个版本的python,而不是默认安装三个版本:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2016-12-30 20:46:29

您可以查看用户当前的python版本,如下所示:(source)

代码语言:javascript
复制
%x(python -c 'print __import__("sys").version_info < (2,8)') == "True\n"

但是如果用户安装了python3和python2.7,他们现在使用的是python3。脚本无法处理这种情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41396248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档