Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby编程赋值_Ruby - Fatal编程技术网

Ruby编程赋值

Ruby编程赋值,ruby,Ruby,所以我的Ruby作业需要一些支持,我不是美国人,所以你必须原谅我的英语 我们正在建一家旅馆,这是第二项任务。它是一个基于控制台的应用程序,我有一个名为main.rb的类来处理运行时和来宾类 在第二个任务中,我们将使用五个来宾对象预加载应用程序,我想我必须使用一个数组,但不知道如何使用。下面是我的来宾类,我的主类只是一个带有case语句的while循环 我需要以下方面的帮助: 在程序启动时添加5个来宾(不是数据库或文本文件,而是数组或其他文件) 这家酒店有20间客房,我需要随机化房间号码,并排除已

所以我的Ruby作业需要一些支持,我不是美国人,所以你必须原谅我的英语

我们正在建一家旅馆,这是第二项任务。它是一个基于控制台的应用程序,我有一个名为main.rb的类来处理运行时和来宾类

在第二个任务中,我们将使用五个来宾对象预加载应用程序,我想我必须使用一个数组,但不知道如何使用。下面是我的来宾类,我的主类只是一个带有case语句的while循环

我需要以下方面的帮助:

  • 在程序启动时添加5个来宾(不是数据库或文本文件,而是数组或其他文件)
  • 这家酒店有20间客房,我需要随机化房间号码,并排除已经租用的房间
  • 希望你能帮忙!谢谢

     class Guest                 
      #Instance variables.
      attr_accessor :firstName, 
        :lastName,
        :address,
        :phone,
        :arrival,
        :plot,
        :gauge
    
      #Constructor sets the guest details.
      def initialize(first, last, adress, phone, arrival) 
        @firstName = first
        @lastName = last
        @address = address
        @phone = phone
        @arrival = arrival
        @plot = range_rand(1,32)
        @gauge = range_rand(2000,4000)
      end
    
      #Using rand()-method to randomize a value between min and max parameters.   
      def range_rand(min,max) 
        min + rand(max-min)
      end
    
      def to_string
        "Name = #{@firstName} , Plot = #{@plot}"
      end
    end 
    

    我想你的意思是你想要5个客人物品。您可以通过创建一个数组文本,然后向其中添加来宾,将它们放入一个数组中

    @guests = []
    @guests << Guest.new()
    @guests << Guest.new()
    
    @guests=[]
    @来宾创建阵列:

    number_array = [1, 2, 3, 4, 5]
    
    number_array[2]
    # this would return the integer 3
    
    number_array << 6
    # this would return [1, 2, 3, 4, 5, 6]
    
    访问数组的元素:

    number_array = [1, 2, 3, 4, 5]
    
    number_array[2]
    # this would return the integer 3
    
    number_array << 6
    # this would return [1, 2, 3, 4, 5, 6]
    
    向数组中添加新元素:

    number_array = [1, 2, 3, 4, 5]
    
    number_array[2]
    # this would return the integer 3
    
    number_array << 6
    # this would return [1, 2, 3, 4, 5, 6]
    

    由于这是一项家庭作业,我将把所有内容都整合到一个有效的解决方案中;)

    其他人已经回答了你问题的第一部分,因此我将帮助你回答第二部分(我将提供最低限度的答案,以便你还有一些工作要做:)

    您可以创建一个包含20个房间号的数组:

    empty_rooms = (1..20).to_array
    
    然后针对每位客人:
    1) 在此数组中取一个随机数(提示:随机化索引)
    2) 从阵列中删除此号码
    3) 并将房间号码分配给客人

    4) 将来宾添加到来宾数组中

    您可能需要使用散列来表示用户与房间之间的关系。每个房间可能有多个来宾。谢谢!我不确定我应该把代码放在哪一类。有什么建议吗?如果你只有客人课和主课程,我想我可以用这个问题来回答你:客人负责选择房间吗?