设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 有丘直方
打印 上一主题 下一主题

[随意闲聊] 大家来亮出自己的脑洞做一个长数组

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1939
在线时间
403 小时
注册时间
2015-8-30
帖子
395
11
 楼主| 发表于 2016-7-20 12:29:39 | 只看该作者
本帖最后由 有丘直方 于 2016-7-21 17:11 编辑
  1. =begin

  2. <<=============================================>>
  3. << [随意闲聊] 大家来亮出自己的脑洞做一个长数组 >>
  4. <<=============================================>>

  5. 就是用某种方法让ruby输出一个[1,2,3,...,100]的数组。
  6. 注意请不要用诸如

  7. ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
  8. p(ary)

  9. 的非常没用的方法。

  10. =end


  11. #------------------------------------------------
  12. # 有丘直方
  13. #------------------------------------------------
  14. str = "def a; " * 100
  15. for i in 1...100
  16.   str += "#{101 - i}; end; "
  17. end
  18. str += "#{1} ;end"
  19. eval(str)
  20. ary = eval("[" + "a, " * 99 + "a]")
  21. p(ary)

  22. #------------------------------------------------
  23. # 英顺的马甲
  24. #------------------------------------------------
  25. print "[%s]" % 100.times.to_a.map{|i|i+1}.join(", ")

  26. #~ print("[%s]" % 100.times.to_a.map { |i| i+1 }.join(", ") + "/n")

  27. #------------------------------------------------
  28. # 英顺的马甲
  29. #------------------------------------------------
  30. a=0;p Array.new(100).map{a+=1}

  31. #~ a = 0
  32. #~ p(Array.new(100).map { a += 1 })

  33. #------------------------------------------------
  34. # 英顺的马甲
  35. #------------------------------------------------
  36. p "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]" # 没说不让这样啊

  37. #~ print("[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]") # 太耍赖。

  38. #------------------------------------------------
  39. # 英顺的马甲
  40. #------------------------------------------------
  41. p [a=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1]

  42. #~ # 太耍赖。

  43. #------------------------------------------------
  44. # 英顺的马甲
  45. #------------------------------------------------
  46. $a[$i||=0] = $i+=1 while ($a||=[]).size < 100; p $a

  47. #~ $a[$i || = 0] = $i += 1 while ($a || = []).size < 100
  48. #~ p($a)

  49. #------------------------------------------------
  50. # 英顺的马甲
  51. #------------------------------------------------
  52. i=0;print "[";print "%d, " % i+=1 while i < 100;print "%d]" % i

  53. #~ i = 0
  54. #~ print("[")
  55. #~ print("%d, " % i += 1) while i < 100
  56. #~ print("%d]" % i)

  57. #------------------------------------------------
  58. # 喵呜喵5
  59. #------------------------------------------------
  60. p (1..100).to_a

  61. #------------------------------------------------
  62. # 喵呜喵5
  63. #------------------------------------------------
  64. p Array.new(100){|i| i+1}

  65. #~ p(Array.new(100) { |i| i + 1 })

  66. #------------------------------------------------
  67. # 喵呜喵5
  68. #------------------------------------------------
  69. p [].tap{|a| a << a.size+1 until a.size == 100}

  70. #~ p([].tap { |a| a << a.size + 1 until a.size == 100 })

  71. #------------------------------------------------
  72. # 余烬之中
  73. #------------------------------------------------
  74. def func(n, a = [])
  75.   n.zero? ? a : func(n-1,a.push(n))
  76. end
  77. func(100).reverse

  78. #~ def func(n, a = [])
  79. #~   n.zero? ? a : func(n - 1, a.push(n))
  80. #~ end
  81. #~ p(func(100).reverse)

  82. #------------------------------------------------
  83. # 余烬之中
  84. #------------------------------------------------
  85. func = ->(n = 0) { -> { n += 1 }  }.call
  86. 100.times.collect { func.call  }
  87. # 或者 Array.new(100) { func.call }

  88. #~ func = -> (n = 0) { -> { n += 1 } }.call
  89. #~ p(100.times.collect { func.call })
  90. #~ p(Array.new(100) { func.call })

  91. #------------------------------------------------
  92. # iisnow
  93. #------------------------------------------------
  94. ary = [100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1].reverse

  95. #~ p([100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1].reverse) # 太耍赖。

  96. #------------------------------------------------
  97. # taroxd
  98. #------------------------------------------------
  99. [*1..100]
  100. [*1.upto(100)]

  101. #~ p([*1..100])
  102. #~ p([*1.upto(100)])

  103. #------------------------------------------------
  104. # taroxd
  105. #------------------------------------------------
  106. p << .chomp.split(' ').map(&:length)
  107.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  108.  

  109. #~ # 各位要获取这条代码的,注意把空格复制全啊。
  110. #~ "p << .chomp.split(' ').map(&:length)\n" + (1..100).map{|i| ' ' * i}.join(?\s) + "\n \n" # 寒冷魔王

  111. #------------------------------------------------
  112. # 英顺的马甲
  113. #------------------------------------------------
  114. p "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA==".unpack('m0').first.unpack('C*')

  115. #~ # 这……算耍赖吗?

  116. #------------------------------------------------
  117. # 有丘直方
  118. #------------------------------------------------
  119. str = "["
  120. for i in 1...100
  121.   str += "#{i}, "
  122. end
  123. ary = eval(str + "#{100}]")
  124. p(ary)

  125. #------------------------------------------------
  126. # 有丘直方
  127. #------------------------------------------------
  128. p(eval("[a = 1, " + "a += 1, " * 98 + "a += 1]"))
复制代码

点评

第97行和第110行的作者是我……  发表于 2016-7-22 16:58
我已经改了,你还想让我做什么?  发表于 2016-7-22 13:51
光说抱歉有什么用!!那两段分明是我写的,竟然写上余烬!!  发表于 2016-7-22 13:04
为什么uninitialized constant RUBY_VERSION  发表于 2016-7-21 16:32
我这里执行是 1~100 不是 3~300…… 请使用 Ruby 1.9 以上的版本  发表于 2016-7-21 15:07
小仙女一枚~
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
12
发表于 2016-7-20 12:42:34 | 只看该作者
100个数字99个逗号不累吗?咿咿...

点评

不累  发表于 2016-7-20 14:00
聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10277
在线时间
4442 小时
注册时间
2005-10-22
帖子
6991

开拓者贵宾

13
发表于 2016-7-20 19:49:21 | 只看该作者
本帖最后由 orochi2k 于 2016-7-20 19:53 编辑

楼上的童鞋们把代码封成函数我来调用。
否则我就拿RUBY直接从网页上读了(用页面明文检查关键字“复制代码”和“复制 打印”然后拖走整个代码块)。(大雾)
我就是不想自己写,灭哈哈哈哈哈哈(大雾)
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1939
在线时间
403 小时
注册时间
2015-8-30
帖子
395
14
 楼主| 发表于 2016-7-20 20:19:41 | 只看该作者
orochi2k 发表于 2016-7-20 19:49
楼上的童鞋们把代码封成函数我来调用。
否则我就拿RUBY直接从网页上读了(用页面明文检查关键字“ ...
  1. # 鸡肋
  2. ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
  3. p(ary)


  4. # 有丘直方
  5. str = "def a; " * 100
  6. for i in 1...100
  7.   str += "#{101 - i}; end; "
  8. end
  9. str += "#{1} ;end"
  10. eval(str)
  11. ary = eval("[" + "a, " * 99 + "a]")
  12. p(ary)

  13. # 英顺的马甲
  14. print "[%s]" % 100.times.to_a.map{|i|i+1}.join(", ")
  15. #~ print("[%s]" % 100.times.to_a.map{ |i| i+1 }.join(", ") + "/n")

  16. # 英顺的马甲
  17. a=0;p Array.new(100).map{a+=1}
  18. #~ a = 0
  19. #~ p(Array.new(100).map{ a += 1 })

  20. # 英顺的马甲
  21. p "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]" # 没说不让这样啊
  22. #~ # 你这是在耍赖

  23. # 英顺的马甲
  24. p [a=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1, a+=1]
  25. #~ # 太耍赖

  26. # 英顺的马甲
  27. $a[$i||=0] = $i+=1 while ($a||=[]).size < 100; p $a
  28. #~ $a[$i|| = 0] = $i += 1 while ($a|| = []).size < 100
  29. #~ p($a)

  30. # 英顺的马甲
  31. i=0;print "[";print "%d, " % i+=1 while i < 100;print "%d]" % i
  32. #~ i=0
  33. #~ print("[")
  34. #~ print("%d, " % i += 1) while i < 100
  35. #~ print("%d]" % i)

  36. # 喵呜喵5
  37. p (1..100).to_a

  38. # 喵呜喵5
  39. p Array.new(100){|i| i+1}

  40. # 喵呜喵5
  41. p [].tap{|a| a << a.size+1 until a.size == 100}

  42. # 余烬之中
  43. def func(n, a = [])
  44.   n.zero? ? a : func(n-1,a.push(n))
  45. end
  46. func(100).reverse

  47. # 余烬之中
  48. func = ->(n = 0) { -> { n += 1 }  }.call
  49. 100.times.collect { func.call  }
  50. # 或者 Array.new(100) { func.call }

  51. # iisnow
  52. ary = [100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81
  53. , 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61
  54. , 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41
  55. , 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21
  56. , 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1].reverse
  57. #~ # 太耍赖

  58. # taroxd
  59. [*1..100]
  60. [*1.upto(100)]
  61. #~ p([*1..100])
  62. #~ p([*1.upto(100)])

  63. # taroxd
  64. p << .chomp.split(' ').map(&:length)
  65. #~ # => can't convert false into String
  66. #~ "p << .chomp.split(' ').map(&:length)\n" + (1..100).map{|i| ' ' * i}.join(?\s) + "\n \n" # 余烬之中

  67. # 英顺的马甲
  68. p "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA==".unpack('m0').first.unpack('C*')
  69. #~ # 这……算耍赖吗?

  70. str = "["
  71. for i in 1...100
  72.   str += "#{i}, "
  73. end
  74. ary = eval(str + "#{100}]")
  75. p(ary)
复制代码
楼上几位的代码帮你整理了一下,你自己去封函数吧!
小仙女一枚~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1939
在线时间
403 小时
注册时间
2015-8-30
帖子
395
15
 楼主| 发表于 2016-7-21 11:44:24 | 只看该作者
本帖最后由 有丘直方 于 2016-7-22 12:08 编辑
  1. str = "["
  2. for i in 1...100
  3.   str += "#{i}, "
  4. end
  5. ary = eval(str + "#{100}]")
  6. p(ary)
复制代码
  1. p(eval("[a = 1, " + "a += 1, " * 98 + "a += 1]"))
复制代码
  1. print("[#{i = 1}, ")
  2. print("#{i += 1}, ") until i >= 99
  3. print("#{i += 1}]\n")
复制代码
小仙女一枚~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-27 01:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表