gpt4 book ai didi

ruby - => 和 : 的哈希有什么区别

转载 作者:行者123 更新时间:2023-12-02 19:01:34 24 4
gpt4 key购买 nike

我使用一个特定的库,我可以在其中传递带有这样的哈希值的变量:

{ 'username' = > 'John'}

但是当我尝试使用这样的哈希传递变量时:

{ 'username': 'John' }

这不起作用。我一直以为=>: 的旧语法但似乎确实有区别。

使用代码:Liquid::Template.parse(template).render!(variables).html_safe

您能解释一下其中的区别并告诉我如何转换这样的哈希值:{ 'username': 'John' }对此{ 'username' = > 'John'}演示文稿?

最佳答案

{ some_arbitrary_expression(some_argument, arg2) => another_arbitrary_expression(arg) }

Hash 文字的通用语法。 任何响应hasheql?的对象都可以用作Hash中的键。

{ some_valid_symbol: arbitrary_expression(arg1, arg2) }

Symbol 键的“新式”Hash 文字语法。

I always thought => is the old syntax for : but there seems to be really a difference.

我不确定您是在哪里学到这一点的,但我确实想知道,这样我就可以警告其他人有关此来源的信息。这从来都不是真的,目前也没有计划让它成为现实,而且可能永远不会成为现实。据我所知,官方文档、RubySpec 或任何知名书籍(《Ruby 编程语言》、《Programming Ruby》)中都没有提及这一点。

Can you please explain the difference and tell me how I can convert such an hash: { 'username': 'John' } to this { 'username' = > 'John'} presentation?

您可以通过猴子修补 Hash#to_sHash#inspect 来更改 HashString 表示形式>,但尚不清楚这会给你带来什么。

如果您使用的方法需要一个键为 StringHash,并且您向它传递一个键为 Hash Symbol,然后更改 HashString 表示形式不会对您有帮助。您需要修复源并确保您的 key 是 String

关于ruby - => 和 : 的哈希有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65492731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com