Tag: arrays

素数数组

我刚刚开始在ruby上弄脏手,并想知道是否有人可以帮助我使用这一系列的素数示例。 我从项目Euler中得到了问题,我希望ruby打印一个素数数组。 但是,每次运行程序时,它只输出“0”。 有人可以在这里说清楚。 先感谢您。 def prime x = 13195 count = 0 a = [ ] while count < x if count % x == 0 a.push(count) a.sort end count += 1 end puts a end

Sum数组值最多可达一定总量

我有一系列哈希(已排序),如下所示: testArray = [{price: 540, volume: 12}, {price: 590, volume: 18}, {price: 630, volume: 50}] 现在我想计算一定的总体积的平均值。 假设有人想购买40件,他希望这是最便宜的方式。 这意味着平均价格为(540 * 12 + 590 * 18 + 630 * 50)/ 40个单位。 我的第一次尝试是: testArray.each do |priceHash| @priceArray << priceHash.fetch(:price) @volumeArray << priceHash.fetch(:volume) end def calculateMiddlePrice(priceArray, volumeArray, totalAmount) result = 0 # Here some crazy wild magic happens (0…volumeArray.count).inject(0) […]

更改克隆对象的值

我有一个对象,它有一个名为my_array的实例变量数组。 我通过attr_accessor声明它。 my_object.my_array = [1,2,3] # <= I don't know the max size of my_array(it can be dynamic) 我想用my_object创建相同的对象,并用my_array填充只有一个元素。 该元素内的值是my_array元素(来自my_object )的每个值。 因为my_array的大小是动态的,所以我想我需要通过each迭代它。 这是我的尝试: my_object.my_array.each do |element| # <= my_object is a special object new_object = nil unless new_object.nil? new_object = my_object.clone # <= I create new object with same class with my_object new_object.my_array.clear # <= […]

根据另一个数组(Ruby)的顺序对数组数组进行排序

我有两个这样的数组: arr1 = [name1, name2,name3]和arr2 = [[name1,10], [name3,15], [name2, 20]] 。 现在我想根据arr1的顺序对arr2进行排序。 只要arr1顺序发生变化, arr2的顺序就会改变。 我试试这个: hash_object = arr2.each_with_object({}) do |obj, hash| hash[obj.name] = obj end arr1.map { |index| hash_object[index] } 但结果返回[nil,nil,nil]。 我很困惑这是正确的方法,我只是犯了错误或有其他方法来解决我的问题。 有人能帮我吗?

ruby。 为什么arr =%w {‘a’,’b’,’c’} =>

来自Ruby的这个问题indexOf , 想知道为什么在Ruby arr = %w{‘a’, ‘b’, ‘c’} #=> [“‘a’,”, “‘b’,”, “‘c'”]

更改数组数组中的一个数组会改变所有数组; 为什么?

a = Array.new(3,[]) a[1][0] = 5 a => [[5], [5], [5]] 我觉得这没有意义! 是不是应该a => [[],[5],[]]或者这种Ruby的function?

Ruby嵌套每个do +数组连接

*新手道歉.. 以下代码: dates = [‘Transaction_Date’,’Renewal_Date’] dateoptions = [‘Year’,’Month’,’Date’] word1 = “Amount” dates.each do |x| puts word1 + ” by ” + x end 返回 Amount by Transaction_Date Amount by Renewal_Date 我希望结果是日期和日期选项的串联,就像这样 Amount by Transaction_Date (Year) Amount by Transaction_Date (Month) Amount by Transaction_Date (Date) Amount by Renewal_Date (Year) Amount by Renewal_Date (Month) Amount by Renewal_Date (Month) […]

遍历数组以创建rails对象

我无法找到有关如何遍历数组和创建对象的任何信息。 我的表单创建了一个可选择的用户列表,在选中时,将user_ids作为数组对象传递。 邀请\ new.html.rb @event_selected.id %> 我想通过将attend_event_id与attendee_id数组中的所有对象相结合来创建新的Invitations对象。 经过一些麻烦后,我得到了控制器工作的基础知识,但只是将user_id作为文本条目传递。 以下是我的邀请控制器。 不知道从哪里开始,因为我还没有找到一个好的例子。 invitations_controller.rb def create @invitation = Invitation.new(invite_params) if @invitation.save! flash.now[:success] = “Invited!” redirect_to root_path else flash.now[:error] = “Failure!” redirect_to root_path end end private def invite_params params.require(:invitation).permit(:attended_event_id, :attendee_id) end end

如何找到数组中第二大元素的索引?

我正在使用Ruby 2.4,我有一组数字: [23423, 349843, 13123, 29239, 20201, …] 如何找到与数组中第二大值对应的数组索引? 您可以假设数组中至少有两个元素。

Ruby / Rails只有相邻的数组元素

我有一个完整的对象排序数组,我想按属性分组,但前提是它们在数组中是相邻的。 a按start属性排序。 a = [{name: “joe”, start: “9am”, end: “10am”}, {name: “joe”, start: “10am”, end: “11am”}, {name: “harry”, start: “11am”, end: “12pm”}, {name: “harry”, start: “12pm”, end: “1pm”}, {name: “harry”, start: “1pm”, end: “2pm”}, {name: “joe”, start: “2pm”, end: “3pm”}, {name: “joe”, start: “3pm”, end: “4pm”}] 我想通过name属性对相邻对象进行分组,结果如下所示: a = [[{name: “joe”, start: “9am”, end: “10am”},{name: […]