Comments 69
И снова спасибо Вам!
0
Быстро вы )
+1
Для себя и вас стараюсь ;)
Кстати, вопрос к профи: Как отображать кириллицу в дебаггере (консольке) в Visual Studio? Сейчас там вопросы одни :(
Кстати, вопрос к профи: Как отображать кириллицу в дебаггере (консольке) в Visual Studio? Сейчас там вопросы одни :(
0
Я не профи в VS, но по общим принципам найди где-нибудь в свойствах файла или в меню вид, где задается кодировка этого файла. Скорее всего VS поставила windows-1251 кодировку, а в консольке отоброжает utf-8, исправь кодировку файла на utf-8. Кроме того должна быть в свойствах проекта или настройках всей IDE кодировка по умолчанию для новых файлов.
P.S. Можно, наверное, и вывод консоли настроить на windows-1251, но в наше время, по-моему правильно все на utf-8 настраивать изначально (учти это, кстати, когда начнешь с мускулом работать, чтобы и сам мускул по умолчанию utf-8 использовал, и приложения/IDE к нему коннектились с utf-8)
P.S. Можно, наверное, и вывод консоли настроить на windows-1251, но в наше время, по-моему правильно все на utf-8 настраивать изначально (учти это, кстати, когда начнешь с мускулом работать, чтобы и сам мускул по умолчанию utf-8 использовал, и приложения/IDE к нему коннектились с utf-8)
0
$KCODE = 'utf8'
puts "привет"
Код должен быть тоже в utf-8
И вообще бросайте вы эту не провославную M$VS.
-2
ты не как не сделаешь чтобы там нормально кириллица была, этим вопросом я занимался (насколько я знаю в linux все в порядке с ней). нормально русский язык отображается в начиная с ruby-1.9.0-2 (поскольку внедряется юникод), если не веришь мне скачай www.garbagecollect.jp/ruby вот тут (всегда самые новые версии ruby здесь есть, а 1.9.0-2 есть и для windows), да скажете вы выходила же версия Preview 1 для win, но там почему то кирилица не поддерживалась.
-1
age = 22
puts "Sovsem Molodoi!" if age < 25
Непривычно конечно, но после обратной польской нотации и не к такому можно привыкнуть :)
Вот только не понял, что является ограничителем «спереди», как разделяются age = 22 и puts «Sovsem Molodoi!» начало строки или просто минус одно выражение перед if? В «сиобразных» языках по традиции для разделения используется ";", условные ветвления, циклы и прочее в большинстве случаев оперируют или одним выражением ( if (1 < 0) puts('1 < 0'); puts( '1 > 0'); выведет 1 > 0), или блоком выражений заключенным в скобки ( if (1<0) { puts('1<0'); puts ('1>0'); } не выведет ничего), а символ перевода строки приравнен к пробельным символам. А в Ruby что является разделителем?
A пост- и прединкрменты/декременты есть? можно вместо x+=1 писать x++ или ++x?
P.S. Молодец, видать вдохновение нашло от того, что язык понравился :)
0
В Ruby разделитель — новая строка
+2
Всё-таки определись, является Ruby и программирование на нем объектно-ориентированным или объектным. Сдается мне, что второе
-1
Как мне подсказывали программирование на Ruby объектно-ориентированной, а язык просто нельзя так называть, язык объектный, а программирование ОО. Может я не так понял, конечно
0
Язык — объектный, так как все есть объект.
А программирование на нем — это как получиться, пишем тоько процедуры — будет процедурное, строим иерархию классов — будет ООП, используем везде лямбду будет(правда очень своеобразное) функциональное программирование. От программиста вобщем зависит:)
А программирование на нем — это как получиться, пишем тоько процедуры — будет процедурное, строим иерархию классов — будет ООП, используем везде лямбду будет(правда очень своеобразное) функциональное программирование. От программиста вобщем зависит:)
0
Можете писать несколько операций на одной строке разделяя их точкой-с-запятой:
puts «Hello »; puts «VolCh»
Есть прединкремент:
3.next
puts «Hello »; puts «VolCh»
Есть прединкремент:
3.next
+1
насчет разделения я уже догадался, и случанйо понял что в конструкции if then else end необязательно then
сейчас вот никак не могу понять как сделать«обратную» форму записи полной конструкции пробую и puts "..." if a>0 puts "////" else и puts "..." else puts "////" if a>0 в общем все перестановки пытаюсь пробовать, хоть программу пиши :(
сейчас вот никак не могу понять как сделать«обратную» форму записи полной конструкции пробую и puts "..." if a>0 puts "////" else и puts "..." else puts "////" if a>0 в общем все перестановки пытаюсь пробовать, хоть программу пиши :(
0
никак, исключительно из эстетических соображений, ну кроме тернарного оператора:
condition ? if-expression : else-expression
+1
я правильно понимаю, что, например, puts тоже возвращает какое-то значение и можно написать, скажем
num == 0 ? puts "Zero!!!" : puts num
(понятно, что можно и короче записать, вынести puts «за скобки»)?0
А можно ещё puts (num==0? «Zero!!!»: num)
Упомяните в четвертой капле про break внутри итераторов и циклов. Там ещё такой момент, что, например, each возвращает то, по чем ходили, а while возвращает false (который то же самое, что nil).
Пример использования (не наглядный, кому-то покажется ужасным, но главное, что виден принцип):
puts ((2...x).each { |i| break nil if x%i==0 }? «простое»: «не простое»)
Упомяните в четвертой капле про break внутри итераторов и циклов. Там ещё такой момент, что, например, each возвращает то, по чем ходили, а while возвращает false (который то же самое, что nil).
Пример использования (не наглядный, кому-то покажется ужасным, но главное, что виден принцип):
puts ((2...x).each { |i| break nil if x%i==0 }? «простое»: «не простое»)
0
Кажется вопрос снимается, прочитал ответ нижу, если уж if и while значения имеют :)
0
then нужен в принципе чтобы переносить, выполняемый по условию, код на другую строку
только в пределах одной строки можно обойтись без then
только в пределах одной строки можно обойтись без then
0
пост- и прединкрментов/декрементов нету
+2
Декремента и инкремента в руби нет
0
Это как-раз нормальное для человека построение предложения: «напечатай Sovsem Molodoi! если возраст меньше 25».
+1
Скажите, а в каком случае какой «Операторы сравнения и Условия» надо использовать? Хотя это и не «операторы» вовсе.
0
Ой, это просто так слилось по смыслу :( Скажем так: «Условия и операторы сравнения»
0
Ну так а когда какой из 3х видов if-сахара используется? Когда программисту вздумается?
0
Что лучше читается, то и используется. Есть некоторые эмпирически выработанные критерии того, что читается лучше, а что хуже, но вообще — да, дело вкуса и личного стиля.
0
Ну вообще говоря if, for, while, etc возвращают значения и их можно теоретически использовать в выражениях (но это изврат конечно)
А вот в форме:
встретить вполне можно.
А вот в форме:
variable = if condition some_value else other_value end
встретить вполне можно.
0
UFO just landed and posted this here
Как-то мне слово «инстанс» не нравится. Может лучше использовать «экземпляр»: метод экземпляра, экземпляр класса,…?
В работе с float небольшая неточность: для того чтобы избежать целочисленного результата достаточно чтобы хотя бы одно число (делитель или делимое) было float. Не обязательно переводить во float оба числа.
В работе с float небольшая неточность: для того чтобы избежать целочисленного результата достаточно чтобы хотя бы одно число (делитель или делимое) было float. Не обязательно переводить во float оба числа.
+2
Если про ООП как вам такой код:
puts «1 + 2 = » + 1.+(2).to_s
В Ruby все является объектом. И цифра «1» тоже объект и у него есть метод "+"
puts «1 + 2 = » + 1.+(2).to_s
В Ruby все является объектом. И цифра «1» тоже объект и у него есть метод "+"
0
А какже про:
case value when expression code . . . end
0
4 — объект (...), к нему применяется метод times,
Метод times — это неотъемлемая часть объекта 4, он является методом класса Fixnum.
При вашей же формулировке, это не очевидно, создаётся впечатление, что метод times что-то чужеродное для него.
Кстати, это очень легко проверить, в irb введите
puts 4.methods.sort
+1
Неплохо было бы ввести здесь же понятие блока (то, что находится в do...end или фигурных скобках).
Собственно, именно блоки, наряду с замыканиями, кардинально отличают руби от других императивных языков, например, от PHP. Более того, замыкания возникли в функциональном программировании, так что это не объектная, а функциональная возможность языка.
Собственно, именно блоки, наряду с замыканиями, кардинально отличают руби от других императивных языков, например, от PHP. Более того, замыкания возникли в функциональном программировании, так что это не объектная, а функциональная возможность языка.
+3
спасибо вам снова, ждем продолжения. Что то руби становится все ближе.
Поделился камрой. (Max frei ©)
Поделился камрой. (Max frei ©)
0
отлично! продолжайте. про замыкания напишите, хотелось бы разобраться получше
0
Вы собрались пересказать весь туториал?
+1
спасибо! у вас отлично это получается :)
0
Обычно подобные обсуждения встречаются в study-groups, когда люди обсуждают главу книги. Тут такое же впечатление. Не стоило переписывать учебник. Хотя, поделиться опытом даже в таких простых вещах — полезно.
0
1. Что значит оператор сравнения <=>?
2. Можно к существующим базовым классам добавить свои методы? Я имею в виду чтобы было 4.my_method
3. Он вообще case-sensitive? myVar и Myvar — разные переменные?
2. Можно к существующим базовым классам добавить свои методы? Я имею в виду чтобы было 4.my_method
3. Он вообще case-sensitive? myVar и Myvar — разные переменные?
0
Условия можно комбинировать. Чтобы получить противоположный эффект можно использовать слово unless:
age = 24
puts «You're NOT a teenager» unless age > 12 && age < 20
Прошу прощения за возможно глупый вопрос (я совсем недавно начал переход на Ruby), а почему нельзя для того же эффекта написать
puts «You're NOT a teenager» if age > 12 && age < 20
Можете конкретнее пояснить разницу между unless и if?
-1
Sign up to leave a comment.
Покорим Ruby вместе! Капля третья