【问题标题】:Capistrano or Ruby featureCapistrano 或 Ruby 功能
【发布时间】: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


【解决方案1】:

这是一个 Ruby 功能。它被称为“消息发送”。如果您熟悉其他语言,他们称其为“子程序调用”、“方法调用”、“函数调用”、“函数应用程序”、“过程调用”或类似名称。

更准确地说,它是一个无接收者消息发送到隐式接收者self,带有两个参数,第一个是符号文字:deploy_to,第二个是字符串文字'/var/www/my_app_name'

【讨论】:

  • 感谢您的回答。抱歉,我对 Ruby 语言很陌生,但是是的,我熟悉其他语言。我只是期待那里有括号。我会亲自尝试一下,看看你的答案。
猜你喜欢
  • 2011-06-27
  • 1970-01-01
  • 2013-11-12
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
  • 2011-02-20
  • 2014-03-25
相关资源
最近更新 更多