如何在条件中分配方法的返回值

时间:2015-08-29 23:34:38

标签: ruby

我有一个方法match_jira_ticket,它接受​​一个字符串并返回一个字符串或nil。如何将此方法的返回值分配给if条件下的变量?例如,像:

message = "My jira ticket is XY-1234" 
if match_jira_ticket(message)
  # assign a variable to the return value
else
  p "Unable to match"
end

这种特殊类型的操作是否有名称?

2 个答案:

答案 0 :(得分:2)

Ruby中赋值表达式的值是指定的值。因此,您可以执行以下操作:

if ticket = match_jira_ticket(message)
  p "Ticket: #{ticket}"
else
  p "Unable to match"
end

答案 1 :(得分:0)

if (ticket_id = match_jira_ticket(message)).nil?
  p "Unable to match"
else
  p "Ticket is #{ticket_id}"
end

不知道这个约定是否有名称。