Project1

标题: 请问:正确写法 [打印本页]

作者: kvkv97    时间: 2021-4-18 15:41
标题: 请问:正确写法
请问:正确写法
Array.new(3) do |i| p i end 就可以,那么我把Array.new(3)改成["foo", "bar", "baz"],写成["foo", "bar", "baz"] do |i| p i end,为什么报错了?正确的格式应该怎么写?
作者: guoxiaomi    时间: 2021-4-18 15:44
本帖最后由 guoxiaomi 于 2021-4-18 15:48 编辑
  1. ["foo", "bar", "baz"].each do |i|
  2. ...
  3. end
复制代码

Array的new方法可以接代码块,以初始化数组
  1. a = Array.new(3) do |i|
  2.   i * 2
  3. end
  4. p a
  5. # => [0, 2, 4]
复制代码
对比一下:
  1. Array.new(3).each do |i|
  2.   p i
  3. end
复制代码
,会打印3个"nil"
作者: soulsaga    时间: 2021-4-18 18:13
数组里的逗号后有空格..我应该吐槽吗...




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