Project1

标题: 【1,2,3,2,3】里面只减一个2怎么做 [打印本页]

作者: yang1zhi    时间: 2015-12-16 12:50
标题: 【1,2,3,2,3】里面只减一个2怎么做
        @items.push($data_items[item_id])
      elsif item_id >0 and n==false
        @items.delete($data_items[item_id])
脚本里面原本是这样写的。
不过这样写那个delete会把所有相同的都减掉。不能一个一个减。
        @items.delete_at($data_items[item_id])
改成at后就TYPRERROR
作者: taroxd    时间: 2015-12-16 13:00
@items.delete_at(@items.index $data_items[item_id])
作者: 枫の叶    时间: 2015-12-16 13:32
只减去第一个
  1. data = [1,2,3,2,3]
  2. data.each do |i|
  3.   if i == 2
  4.     data.delete(i)
  5.     break
  6.   end
  7. end
复制代码

作者: cinderelmini    时间: 2015-12-16 14:52
本帖最后由 cinderelmini 于 2015-12-16 15:25 编辑

虽然在另一边的帖子答过了…………
  1. [1,2,3,2,3].each do |a|
  2.   if a == 2
  3.     a = "2"
  4.     break
  5.   end
  6. end
  7. Array.delete("2")
复制代码
好像不用nil会比较好?

另一个办法比较直接……
  1. [1,2,3,2,3].delete_at([1,2,3,2,3].index(2))
复制代码

作者: 喵呜喵5    时间: 2015-12-16 16:04
纯属娱乐
是时候展示我神经病的一面了
  1. a = [1,2,3,2,2,3]
  2. a = a.join(' ')
  3. a.slice!(/2/)
  4. a = eval "%w[ #{a} ]"
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1