使用解析器从字符串到时间在Ruby上不起作用

莱蒂西亚·布拉沃(Leticia Bravo)

好吧,我对红宝石非常陌生,它是第一个程序,可以在Eclipse和Windows上运行,根本无法使其读取或调试良好。我调试时不会读取控制台。帮助!

require 'time'

#defining limitations on arrays
Day = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Number = [[1,2],[3,4],[5,6],[7,8],[9,0]]
timeFromM = Time.new(2010, 03, nil, 7)
timeToM = Time.new(2020, 12, nil, 9, 30)
timeFromE = Time.new(2010, 03, nil, 16)
timeToE = Time.new(2020, 12, nil, 19, 30)
range1 = timeFromM..timeToM
range2 = timeFromE..timeToE

#movement allowance
def carOnTheRoad (plateNumber, dateRoad, timeRoad)
  $i = Day.length
  date = dateRoad + timeRoad
  time = Time.parse(date)
  print time
  plateEnd = plateNumber[plateNumber.length-1]
  while $i > 0  do
    if date.strftime("%A")==Day[$i] && Number[$i]==plateEnd && range1===time && range2===time
        puts("Car can't be on the road")
    else
        puts("Car can be on the road")
    end
    $i -=1
  end
end

#interacting with user
print "Please enter your Plate Number <Ex: PXX0000>"
plate = gets.chomp
print "Please enter the date <DD/MM/YYYY>"
date = gets.chomp
print "Please enter the time <24:59>"
time = gets.chomp
carOnTheRoad(plate, date, time)

这是控制台输出:

Please enter your Plate Number <Ex: PXX0000>PZZ0990
Please enter the date <DD/MM/YYYY>26/08/2016
Please enter the time <24:59>8:30
C:/Ruby23-x64/lib/ruby/2.3.0/time.rb:302:in `local': argument out of range (ArgumentError)
    from C:/Ruby23-x64/lib/ruby/2.3.0/time.rb:302:in `make_time'
    from C:/Ruby23-x64/lib/ruby/2.3.0/time.rb:366:in `parse'
大卫胡

您的错误与行有关 date = dateRoad + timeRoad

dateRoad = 26/08/2016
timeRoad = 8:30

当您添加它们时,您会得到

date = '26/08/20168:30'

这就是为什么您会收到超出范围的错误的原因。

您需要在两个值之间添加一个空格。

date = dateRoad + " " + timeRoad #=> '26/08/2016 8:30'

现在有一个新的错误

“ 26/08/2016 8:30”的未定义方法“ strftime”:字符串

我将假设strftime是您定义的函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

boost :: spirit :: x3中的简单字符串解析器不起作用

字符串变量在树莓派上不起作用

xml解析器不起作用

使用PHP解析器解析PHP字符串

具有字符串主体的Jersey POST API在服务器上不起作用(但在本地工作)

解析查询字符串不起作用

Python解析字符串替换不起作用

时间到时用Java播放音频/声音在Android和IOS上不起作用

Swift的字符串解析器?

Ruby:使用字符串变量调用数组元素集不起作用

使用解析器组合器解析带有转义字符的字符串?

使用解析器拆分嵌套的 XML 字符串以获取字符串

搜索结果Web结果将字符串解析为IP地址一段时间不起作用

Oracle-TO_CLOB在SELECT上不起作用,无法转换4000 CHARs长字符串

字符串格式在消息对话框上不起作用-Java

设置跨度字符串在简单的Textview上不起作用

.htaccess文件更改URL字符串在某些页面上不起作用

使用bash拆分字符串在debian服务器中不起作用

内容解析器notifyChange()不起作用

为什么我的XML解析器不起作用

为什么此JSON解析器不起作用?

Dockercompose,Nginx,解析器不起作用

univocity csv 解析器 setTypeOfColumns 不起作用

DNS解析在18.04服务器上不起作用

Angular 8解析器不起作用:没有解析器提供程序

使用字典替换字符串不起作用

使用Java输出json字符串不起作用

使用堆栈反转字符串对我不起作用

CSS解析器解析字符串内容