相关疑难解决方法(0)

Hash Rocket被弃用了吗?

引用良好的RIP Hash火箭帖似乎暗示Hash Rocket语法(:foo => "bar")已被弃用foo: "bar",而不支持新的Ruby JSON风格的hash(),但我找不到任何明确的引用来说明Hash Rocket表单实际上从Ruby 1.9开始被弃用/未经过修改.

ruby syntax hash ruby-1.9 hashrocket

99
推荐指数
1
解决办法
3万
查看次数

Ruby:结肠前后vs

使用Ruby时,我总是和它混在一起:.

当有人在变量名称之前使用它时,有人可以解释一下吗:name,当我想在变量之后使用它时name:

一个例子是崇高的.

ruby

74
推荐指数
3
解决办法
3万
查看次数

从Ruby中的变量创建哈希键?

我有一个变量id,我想将它用作散列中的键,以便分配给变量的值用作散列的键.

例如,如果我有变量,id = 1那么所需的结果将是{ 1: 'foo' }.

我试过创建哈希,

{
  id: 'foo'
}
Run Code Online (Sandbox Code Playgroud)

但是,这并不工作,而不是导致与符号的哈希:id'foo'.

我可以发誓我以前做过这件事,但我完全是在画一个空白.

ruby syntax hash

53
推荐指数
1
解决办法
5万
查看次数

冒号":"和胖箭"=>"之间有什么区别

Ruby中冒号:和胖箭的区别是什么=>?还是什么时候用?

:foo => true
foo: true
Run Code Online (Sandbox Code Playgroud)

ruby syntax hash hashrocket

29
推荐指数
2
解决办法
1万
查看次数

Ruby中的哈希语法

根据The Well Grounded Rubyist:

Ruby允许在哈希键位置使用特殊形式的符号表示,在符号之后使用冒号而不是之前的冒号,并删除哈希分隔符箭头.换句话说,这个:

hash = { :name => "David", :age => 49 }
Run Code Online (Sandbox Code Playgroud)

也可以这样写:

hash = { name: David, age: 49 }
Run Code Online (Sandbox Code Playgroud)

我在ruby 1.8.7和1.9.2中尝试了前面的代码 - 它无法正常工作.我究竟做错了什么?

ruby hash syntax-error

23
推荐指数
1
解决办法
2万
查看次数

带字符串键的ruby new hash冒号表示法

使用ruby 1.9.3,字符串键似乎不适用于Hash冒号表示法:

1.9.3p194 :005 > {abc: 5}
 => {:abc=>5} 

1.9.3p194 :004 > {'abc': 5}
SyntaxError: (irb):4: syntax error, unexpected ':', expecting tASSOC
{'abc': 5}
       ^
Run Code Online (Sandbox Code Playgroud)

我想我正在运行正确版本的Ruby

1.9.3p194 :006 > RUBY_ENGINE
 => "ruby" 
1.9.3p194 :007 > RUBY_VERSION
 => "1.9.3" 
Run Code Online (Sandbox Code Playgroud)

ruby

22
推荐指数
1
解决办法
1万
查看次数

结肠位置有什么区别:有些东西和有些东西:

我正在努力理解:符号和文本之间的区别:关于结肠放置.我的理解是,当我们使用:symbol时,我们指的是这个对象及其包含的内容,其中text:用于为文本赋值,就像我们将变量一样.这是正确的还是有人可以详细说明用法.谢谢.

ruby ruby-on-rails

18
推荐指数
2
解决办法
4884
查看次数

如何从具有空格的字符串创建符号?

我正在为电影名称存储创建一个Ruby哈希.

当哈希的键是包含空格的字符串时,它可以正常工作.

如:

movies = {"Avatar" => 5, "Lord of the rings" => 4, "Godfather" => 4}

现在我试图用符号替换字符串的使用:

movies = {Avatar: 5, Lord of the rings: 4, Godfather: 4}

显然这不起作用.

Ruby如何处理符号命名中的空格?

ruby hash symbols

13
推荐指数
2
解决办法
7387
查看次数

rails中的to和=>之间有什么区别?

我一直注意到rails社区已经开始使用":"符号表示更多内容.最近我在代码审查中收到了一条评论:

post 'examples/', to: 'examples#index'
Run Code Online (Sandbox Code Playgroud)

比这更好:

post "examples/" => "examples#index"
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 这两个陈述之间有区别吗?
  2. 如果是这样,为什么一个比另一个好?
  3. 为什么rails社区切换到":"符号(或者是它们)?
  4. 继续使用rails 4和很快5,这两种格式仍然可以接受吗?

ruby ruby-on-rails ruby-on-rails-4 ruby-on-rails-5

4
推荐指数
1
解决办法
1963
查看次数

符号"name:"vs":name =>"

我不太清楚以下两种符号之间的区别是什么:

= render :partial => "order_fields", :locals => { :t => type, :f => c}
= render :partial => "order_fields", :locals => { t: type, f: c}
Run Code Online (Sandbox Code Playgroud)

他们似乎都工作,但我无法理解有什么区别.请你帮助我好吗?

ruby syntax hashrocket

2
推荐指数
1
解决办法
397
查看次数