2015-08-29 4 views
0

У меня есть метод 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

Значение выражения присваивания в Ruby является назначаемым значением. Таким образом, вы можете сделать следующее:

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

И значение из 'if' выражения является значение отрасли, которое было принято, так что вы можете дополнительно вытащить' p' так: 'р, если билет = match_jira_ticket (сообщение), затем «Ticket: # {ticket}« else »Невозможно совместить« конец » –

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

Не знаю, существует ли название для этого соглашения.

Смежные вопросы