Ruby,如何将字符串与数组的特定元素进行比较?

时间:2017-11-04 18:06:26

标签: arrays ruby

我从包含英语不规则动词的文本文件创建一个数组。我希望代码以随机顺序问我动词,只有当我正确回答时才让我继续。我需要将一个字符串与一个数组元素进行比较。我写了这个:

a = []
File.open('documents/programmi_test/verbi.txt') do |f|
  f.lines.each do |line|
    a <<line.split.map(&:to_s)
  end
end
puts ''
b = rand(3)
puts a[b][0]
puts 'infinitive'
infinitive = gets.chomp
  if infinitive = a[b][1]    #--> write like this, I receive alway "true"
    puts 'simple past'
  else
    puts 'retry'
  end
pastsimple = gets.chomp
  if pastsimple == a[b][2]    #--> write like this, I receive alway "false"
    puts 'past participle'
  else
    puts 'retry'
  end
pastpart = gets.chomp
  if pastpart == a[b][3]
    puts 'compliments'
  else
    puts 'oh, no'
  end

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

if infinitive = a[b][1]正在为a[b][1]赋予不可分割的价值,与pastsimple == a[b][2]不同,这是两个值之间的比较。

您可以尝试替换=的{​​{1}}。

==