【发布时间】:2020-07-01 22:31:24
【问题描述】:
我正在阅读this 的文章,因为我目前正在学习 Capistrano。
我在这个页面上找到了这一行:
set :deploy_to, '/var/www/my_app_name'
我不确定这是 Ruby 功能还是 Capistrano 功能。
我检查了 Ruby 的集合,但它只有数据结构 Set(s)。
我不认为这是一个类似 set 的数据结构。
这看起来像一个键值对或哈希表,其中关键字 set 之后的值是键,, 之后的字符串/值是键值对的值/哈希表(字段)。
这是 Ruby 功能还是 Capistrano 功能?这个特殊功能的名称是什么?
【问题讨论】:
-
Ruby 在大多数方法调用中不需要括号。这是对
set方法的调用,第一个参数是符号(:deploy_to,有点像不可变字符串),第二个参数是字符串:set(:deploy_to, '/var/www/my_app_name')。 -
@muistooshort,感谢您提供的信息。对不起,我对 Ruby 语言很陌生。我会尝试一下,看看你的想法付诸实践。
-
:deploy_to不是变量,它是符号文字,就像6不是变量,它是整数文字一样。检查the Symbol docs,也许做一些“红宝石符号”的谷歌搜索。 -
嗯,好的。这是我在 Ruby 中还不知道的事情。非常感谢@muistooshort。感谢您的帮助。
-
set(:deploy_to, '/var/www/my_app_name')省略了括号。 Capistrano 的set方法与集合(集合)无关。它用于设置一个变量(这里:deploy_to到'/var/www/my_app_name')
标签: ruby capistrano