Переменные в Ruby - PullRequest
       2

Переменные в Ruby

0 голосов
/ 17 февраля 2012

Я бы немного поиграл с Руби.

Теперь у меня есть небольшая проблема, которую я не могу решить.

Код:

@href = "http://localhost:3000"

def link(title, href)

  if href.nil?
    href = @href
  else
    href = href
  end

  output = "<a href=\"#{href}\">"
  output << "#{title}"
  output << "</a>"

  puts output

end

alias link_to link

link_to("Google","")

В чем проблема в моем коде? Я хочу установить значение по умолчанию для href, если оно равно nil.

Greets

Peter

Ответы [ 3 ]

2 голосов
/ 17 февраля 2012

Вот более чистый способ установить значение по умолчанию:

def link(title, href = 'http://localhost:3000')
   # ...
end
1 голос
/ 17 февраля 2012

""! = Ноль

[10] pry(main)> link "xxx",nil
<a href="http://localhost:3000">xxx</a>
=> nil
1 голос
/ 17 февраля 2012

Проблема здесь

>> "".nil?
=> false

Вы должны использовать .nil? or .empty? в качестве условия.

>> "".empty?
=> true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...