Tag: 数组

将哈希数组转换为数组

我有一个哈希数组,我需要在新数组中使用哈希值。 哈希的arrays看起来像这样,有几千个。 array = [{:code=>”404″}, {:code=>”302″}, {:code=>”200″}] 我试图查看它,但只发现了如何从哈希转换。 我该怎么做呢?

在Rails中保存和检索数组

我正在开发Rails中的电子学习,我想将一组数据保存到数据库中,目的是通过电子学习的各个部分跟踪用户的进度。 我遇到过这个问题并回答: 在数据库中存储数组:JSON与序列化数组 …听起来可能有用,但我无法弄清楚如何将它集成到我正在开发的Rails项目中。 鉴于我几乎是一个Rails noob,有人可以用简单的英语(或简单的代码)向我解释我将如何: a)将数据保存到数据库中,该数组在用户最初注册时保存一系列“假”布尔值。 b)在整个电子学习过程中从各个页面检索和更新该数组。 我会列出我尝试过的东西,但它只是在黑暗中疯狂刺伤,我真的不知道从哪里开始。 Comment类应该保存在controllers文件夹中吗? 或者,在我的例子中,它实际上是User类(类似地,它扩展了ActiveRecord)? 再次,任何帮助(理想地解释代码所属的位置)非常感谢。 UPDATE 我被要求更具体,所以我会尝试: 我在数据库中有一个用户表,它(可预见地)有几个字段,包括电子邮件,用户名等。我想在用户表中添加5个字段,每个字段存储一个数组,以跟踪用户通过每个字段的进度。 5个部分。 我设想,当用户打开一段内容时,将更新数组并将相应的索引更新为“true”以标记该部分的部分已完成。 我希望有帮助…… RE-UPDATE 当用户第一次注册时,我希望将数组设置为一系列“假”布尔值。 我将从哪个文件设置数组? 这是用户完成的吗? 目前我正在尝试这个,但我不认为这些值正在设置 – 尽管它没有抛出错误。 class User “: Please choose your age” } validates :section, presence: { :message => “: Please choose the section you belong to”} has_many :posts private def set_progress_vars self.leadership_styles_progress = [false, […]

ruby – 以下数组和目标和代码有什么问题?

两总和 定义一个方法, two_sum ,接受一个数组和一个目标和(整数)作为参数。 如果数组中的任何两个整数与目标相加,则该方法应返回true。 否则,它应该返回false。 假设数组只包含整数。 def two_sum(array, target) i = 0 sum = [] while i < array.max i = i + 1 b = i + i sum.push(b) end sum.include?(target) end puts "——Two Sum——" puts two_sum([1,2,3,4,5,6], 8) == true #(im getting true) puts two_sum([1,2,3,4,5,6], 18) == false #(im getting true) puts two_sum([1,3,6], […]

在Ruby中定义sum函数

请帮助,我是一名Ruby学生,我知道如何使用.sum方法而不是这个:如何为数组定义一个sum函数,以便提供任何元素将导致它们的总和。 格式应为sum([数组输入])返回数组元素的总和。 例如:sum([])应该返回0,sum([1,2,3])返回6(#again,而不是[1,2,3] .sum)。 我被困在盒子里,非常感谢你的帮助。

如何使用Ruby将数组转换为64位双Mac绝对时间?

是否可以将存储为每个元素的二进制或hex值转换为64位双麦绝对时间? 当我使用p var_bytes控制台检查数组时,控制台显示以下输出。 \000\000\000\000\000\000\000\000\000\000\000\234\225x\266A\000\000\000\345\005\230\264 是否可以将64位双麦克风绝对时间中的上述数组元素转换为字符串? 我的代码只是一个简单的do..end puts “\nClose off the page header#{y.unpack(“n”)}\n” z.scan(/(.{8})(.{8})(.{4})(.{4})(.{4})(.{4})(.{8})(.{8})(.{8})(.*\w)/m).each do |j,k,l,m,n,o,p,q,r,s| puts “\nContent1#{j.unpack(“n”)}\n” puts “\nContent2:#{k.unpack(“n”)}\n” puts “\nContent3:#{l.unpack(“n”)}\n” puts “\nContent4:#{m.unpack(“n”)}\n” puts “\nContent5:#{n.unpack(“n”)}\n” puts “\nContent6:#{o.unpack(“n”)}\n” puts “\nContent7:#{p.unpack(“n”)}\n” expdt = Time.at((q.unpack(“L”))[0]) createdt = Time.at((r.unpack(“L”))[0]) puts “Date1:\n#{expdt}\n” puts “\nDate2:\n#{createdt}\n” puts “\nCookie:\n” puts s.split(/\0/m) end end 将这个负值转换为正数的简单方法是什么,所以Time.at不会给出错误,然后根据MAC Epoch时间转换它?

比较包含重复的数组元素

我试图看一个数组是否包含另一个数组的每个元素。 另外,我想说明重复项。 例如: array = [1, 2, 3, 3, “abc”, “de”, “f”] 数组包含[1,2,3,3]但不包含[2,2,“abc”] – 太多2的 我已经尝试了以下但显然没有考虑到欺骗。 other_arrays.each { |i| array.include? i }

按此顺序组合2个哈希的最佳方法

我有2个哈希list1和list2。 密钥是用户ID。 这是一个例子 list1 = { ‘1’ => [item1, item2], ‘2’ => [item3] } list2 = { ‘1’ => [item 4], ‘3’ => [item 5] } 我需要将2到1的列表结合起来..这样的事情……或任何更好的表示赞赏。 基本上,需要将每个用户的list1和list2项组合成一个数组,其中第一项给出list1项,第二项给我list2项。 { ‘1’ => [[item 1, item 2], [item 4], ‘2’ => [[item 3],[]], ‘3’ => [[],[item 5]] } 我能够以老式的方式做到这一点,但想知道是否有最好的方法来做这个…想知道我是否可以最小化代码和处理。

如何将函数应用于数组并形成两个单独的数组?

我正在使用Ruby 2.4。 我有一个包含字符串数据元素的数组,看起来像 [“a word1 word2”, “b eff”, “a idaho orange”, “new old shoe”, “b mars”, …] 我想从上面形成两个数组,将一个函数( .split(/^(a|b)[[:space]]*/i )应用于数组的每个元素。但是,我无法弄清楚如何形成两个独立的arrays。以下 arr.map{ |x| x.split(/^(a|b)[[:space]]*/i) } 只产生一个数组,每个元素前面都有一个空白元素。 理想情况下,我希望输出为两个数组 [“a”, “b”, “a”, “”, “b”, …] [“word1 word2”, “eff”, “idaho orange”, “new old shoe”, “mars”, …]

Uniq的ruby数组无法正常工作

我有一个我的对象Country的数组,它具有“代码”和“名称”的属性 该arrays可能不止一次有一个国家,所以我想区分数组。 这是我的国家级 class Country include Mongoid::Fields::Serializable attr_accessor :name, :code FILTERS = [“Afghanistan”,”Brunei”,”Iran”, “Kuwait”, “Libya”, “Saudi Arabia”, “Sudan”, “Yemen”, “Britain (UK)”, “Antarctica”, “Bonaire Sint Eustatius & Saba”, “British Indian Ocean Territory”, “Cocos (Keeling) Islands”, “St Barthelemy”, “St Martin (French part)”, “Svalbard & Jan Mayen”,”Vatican City”] EXTRAS = { ‘eng’ => ‘England’, ‘wal’ => ‘Wales’, ‘sco’ […]

数组排列和比较:此数组是否包含任何这些数组?

我已经到处寻找答案了,虽然我发现了一些类似的问题,但我还是无法解决问题。 我正在构建一个Mastermind游戏。 现在我正在研究智能计算机猜测的算法。 我已经读了很多这个,但作为一个相当新的编程人员,开发这个算法(我正在使用TDD)是一个挑战。 secret_code = %w(blue blue orange orange) guess = %w(orange blue red yellow) valid_colors = %w(blue green orange purple red yellow) possible_secret_codes = valid_colors.repeated_permutation(4).to_a 我想根据我猜测后收到的反馈(得分)消除尽可能多的possible_secret_codes。 一种可能的方法(简单,尽管不是最有效)是首先关注找到正确的四种颜色,无论位置如何。 score = {exact: 1, close: 1} total_score = score[:exact] + score[:close] parts_of_secret_code = guess.repeated_permutation(total_score).to_a.uniq parts_of_secret_code将返回一个数组数组。 我们可以确定密码包括至少一个这样的arrays。 我想从possible_secret_codes中删除任何不包含至少一个这些数组的代码。 使用我提供的示例信息(假设我提供的密码,我提供的猜测,我提供的分数等),这就是parts_of_secret_code: parts_of_secret_code = [[“orange”, “orange”], [“orange”, “blue”], [“orange”, “red”], […]