gpt4 book ai didi

Ruby:检查对象是否为零

转载 作者:数据小太阳 更新时间:2023-10-29 06:51:39 26 4
gpt4 key购买 nike

  def parse( line )
_, remote_addr, status, request, size, referrer, http_user_agent, http_x_forwarded_for = /^([^\s]+) - (\d+) \"(.+)\" (\d+) \"(.*)\" \"([^\"]*)\" \"(.*)\"/.match(line).to_a

print line
print request
if request && request != nil
_, referrer_host, referrer_url = /^http[s]?:\/\/([^\/]+)(\/.*)/.match(referrer).to_a if referrer
method, full_url, _ = request.split(' ')

in parse: private method 'split' called for nil:NilClass (NoMethodError)

据我所知,它不是在字符串上调用 split,而是在 nil 上调用。这部分是解析 web 服务器日志。但我不明白为什么它会变成 nil。据我了解,它为空。

正则表达式中的一些子模式失败了?所以这是网络服务器的错,它有时会生成错误的日志记录字符串?

顺便说一句,我如何用 ruby​​ 写入文件? windows下这个cmd窗口无法正常读取。

最佳答案

您在这里似乎有几个问题,所以我会尝试一下似乎是主要问题:

如果你想查看是否为 nil,只需使用 .nil? - 所以在你的例子中,你可以说 request.nil? ,返回 true如果是nilfalse否则。

关于Ruby:检查对象是否为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com