首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby数组问题-无法将字符串转换为整数

Ruby数组问题-无法将字符串转换为整数
EN

Stack Overflow用户
提问于 2013-07-03 00:50:54
回答 6查看 1.9K关注 0票数 2

我不明白这有什么问题

代码语言:javascript
复制
nameTag = "div[class='designer_about'] a"
designsTag = "li[class='span-2']"
pullTags = Array.new(nameTag, designsTag)

错误:

代码语言:javascript
复制
designers_list_mirraw.rb:8:in `initialize': can't convert String into Integer (TypeError)
from designers_list_mirraw.rb:8:in `new'
from designers_list_mirraw.rb:8:in `<main>'

我是ruby的新手

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-07-03 01:05:28

正如juanpastas提到的,Array::new(size,obj)需要一个数字和一个对象。您可以在链接到的教程中看到这一点:

代码语言:javascript
复制
names = Array.new(4, "mac")

names现在是一个具有四次"mac"的数组。

如果您打算创建一个包含以下两项的数组:

代码语言:javascript
复制
pullTags = Array.[nameTag, designsTag]
# which is equivalent to
pullTags = Array[nameTag, designsTag]
# which are the more verbose versions of
pullTags = [nameTag, designsTag]

参见[](*args)

票数 25
EN

Stack Overflow用户

发布于 2013-07-03 01:02:52

Ary.new(length, item)是用于需要数组在特定时间内具有相同项重复的时间。不是Array.new(item, item)。第一个参数表示您想要的数组长度。

在您的情况下,您应该使用:

代码语言:javascript
复制
name_tag = "div[class='designer_about'] a"
designs_tag = "li[class='span-2']"
pull_tags = [name_tag, designs_tag]

顺便说一句,根据Ruby的约定,snake_case_variable_namecamelCaseVariabelName更受欢迎

票数 4
EN

Stack Overflow用户

发布于 2013-07-03 00:57:15

请参阅Array::new

它接收整数,然后接收一个对象,或者也接收一个数组,因此您可以使用:

代码语言:javascript
复制
Array.new(2,'some') => ['some','some']
Array.new(an_array_here)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17431314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档