【问题标题】:Writing a conditional loop using the Faker gem in ruby在 ruby​​ 中使用 Faker gem 编写条件循环
【发布时间】:2020-11-03 16:37:42
【问题描述】:

我正在尝试编写一个循环,该循环将从 ruby​​ 中的 Faker gem 返回 25 个唯一的名字,条件是每个名字都 >= 5 个字符。

我设法创建了返回 25 个唯一名称的循环,但无法正确生成 name.length 条件。我尝试了以下尝试:

尝试 1:

names = [Faker::Name.unique.first_name]
names.each do |name|
  puts name if first_name.length >= 5
  25.times do 
    puts "#{Faker::Name.unique.first_name}"
  end
end

尝试 2:

names = [Faker::Name.unique.first_name]
  25.times do 
    puts "#{Faker::Name.unique.first_name}"
  names.each do |name|
    puts name if name.length >= 5
    end
end

我做错了什么?

【问题讨论】:

    标签: ruby-on-rails ruby loops conditional-statements


    【解决方案1】:

    names = [Faker::Name.unique.first_name] 在数组中创建一个元素,因此要解决此问题,您应该根据条件创建名称,然后您可以显示它们。

    # generate names
    names = []
    while names.size <= 25 do 
      name = Faker::Name.unique.first_name
      names << name if name.length >= 5
    end
    
    # display names
    names.each do |name| 
      puts name 
    end
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      require 'faker'
      
      names = []
      until names.length == 25 do
        name = Faker::Name.unique.first_name
        names << name if name.length >= 5
      end
      puts names
      

      【讨论】:

        猜你喜欢
        • 2021-11-29
        • 1970-01-01
        • 2020-07-11
        • 2014-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多