Шрифт:
• Программисты, привыкшие к С, могут быть озадачены отсутствием предложений
• Значения в каждой ветви
• В ветвях
Если x принимает значение 0, ничего не делается. Для значения 5 печатается строка «Вторая ветвь» — несмотря на то что 5 удовлетворяет и условию в третьей ветви.
• Перекрытие ветвей допускается потому, что они вычисляются в строгом порядке и выполняется закорачивание. Иными словами, если вычисление выражения в какой-то ветви оказалось успешным, то следующие ветви не вычисляются. Поэтому не стоит помещать в ветви
Если x находится в диапазоне от 1 до 10, то метод
1.5.4. Рубизмы и идиомы
Материал в этом разделе во многом пересекается с изложенным выше. Но не задумывайтесь особо, почему мы решили разбить его именно таким образом. Просто многие вещи трудно точно классифицировать и организовать единственно правильным образом. Мы ставили себе задачу представить информацию в удобном для усвоения виде.
Ruby проектировался как непротиворечивый и ортогональный язык. Но вместе с тем это сложный язык, в котором есть свои идиомы и странности. Некоторые из них мы обсудим ниже.
• С помощью ключевого слова
• Пронумерованные глобальные переменные
• Мы не рекомендуем использовать «специальные переменные»
• Не путайте операторы диапазона
• С диапазонами связана одна мелкая деталь, которая может вызвать путаницу. Если дан диапазон
• Не путайте диапазоны с массивами. Следующие два присваивания абсолютно различны:
Однако есть удобный метод
• Часто бывает необходимо присвоить переменной значение лишь в том случае, когда у нее еще нет никакого значения. Поскольку «неприсвоенная» переменная имеет значение