Когда-то меня напрягали фигурные скобки вместо begin - end. Тру стори.Absinthe, под программированием на отступах я имел ввиду отсутствие фигурных скобок. В stylus я это могу принять, но не в нормальном коде. Каждому свое
Меня в руби куда больше стремает то что 0 == true
irb(main):001:0> 0 == true
=> false
В руби нет примитивных типов. Есть базовые типы, которые являются наследниками Object. Объекты же передаются по ссылке.и что переменные примитивных типов передаются всегда by-reference, а не by-value.
Не совсем, вообще-то.Объекты же передаются по ссылке.
def change_string(str)
str <<" I can insult you all you want"
str <<" because you'll never see this"
str <<" because I'm going to replace the whole string!"
str <<" Haha you smell bad!"
str ="What? I didn't say anything."# I'm so sneakyend
be_nice_to_me ="hello"
change_string(be_nice_to_me)
puts be_nice_to_me
<?php
function changeObject($o) {
$o->a += 17;
$o = new stdClass;
$o->a = 100500;
}
$o = new stdClass;
$o->a = 42;
changeObject($o);
echo $o->a;
ИМХО наоборот очевидно считать, что все типы передаются одинаково, а не в зависимости от типа, как в пхп.я говорю, что оно мне не нравится, т.к. оно иногда непредсказуемо в визуально очевидном поведении.
Не то чтобы я вложенность по скобкам определяю, мне код читать так проще, просто глаз привык цепляться за фигурные скобки.А скобки тебе зачем нужны? Они не для тебя, а для компилятора.
Или ты вложенность по скобкам, а не отступам определяешь?
Я правильно понимаю, что если провести аналогию с си - все значения передаются по ссылке? Если так - это совсем не очевидно, особенно если нет модификатора const в аргументах.ИМХО наоборот очевидно считать, что все типы передаются одинаково, а не в зависимости от типа, как в пхп.
Не понимаю, в C ссылок совсем нет. А в руби объекты передаются по ссылке. Кстати, в PHP тоже объекты по ссылке передаются.правильно понимаю, что если провести аналогию с си - все значения передаются по ссылке?
Ну я про это и говорил, собственно, когда говорил, что мне не нравится такое поведение для примитивных типов, т.к. оно ненаглядно, в отличие от явного new.Аналог твоего последнего кода на PHP с таким же поведением.
Создать класс можно и без явного new, а внутри какого-нибудь вызова.Ну я про это и говорил, собственно, когда говорил, что мне не нравится такое поведение для примитивных типов, т.к. оно ненаглядно, в отличие от явного new.
Ну как будто в Java или C# объекты иначе передаются. Это классическое поведение.Алсо, я нигде не утверждал, что в пхп нет неочевидности.
Скаляры в руби? Там нет скаляров.Но скаляры однозначно должны по умолчанию передаваться по значению.
class Fixnum
def +(other)
self * other
end
end
puts 2 + 3
Это ты уже третий раз прогнал в этой теме.хотя как известно в js, аналогично руби, все переменные - объекты.
Ну а чего на баше тогда не писать?А такой тайп-хинтинг я в принципе не понимаю.
Зачем? PHP - скриптовый язык. Что вы к велосипеду вёсла прикручиваете? Плавать он от этого не станет.
Ты предпочитаешь писать типы в комментарии к функции? Или и вовсе их не пишешь? (В таком случае твое замечание о PHP6 кажется немного странным)А такой тайп-хинтинг я в принципе не понимаю.
Зачем? PHP - скриптовый язык. Что вы к велосипеду вёсла прикручиваете? Плавать он от этого не станет.
Да, действительно, чего бы на баше не писать? Если для решения задачи необходимо и достаточно возможностей баша (и не предвидится изменений в ТЗ) - я использую баш.Ну а чего на баше тогда не писать?
Пишу. И, да, я бы предпочёл иметь возможность опционально указывать желательный тип переменной/тип результата, возвращаемого функцией.Ты предпочитаешь писать типы в комментарии к функции? Или и вовсе их не пишешь? (В таком случае твое замечание о PHP6 кажется немного странным)
Даже если альтернативный более мощный продукт позволит сократить время и стоимость, все равно выберешь баш?Да, действительно, чего бы на баше не писать? Если для решения задачи необходимо и достаточно возможностей баша (и не предвидится изменений в ТЗ) - я использую баш.
Можно, если забить на BC. Нельзя. если не забить.Пишу. И, да, я бы предпочёл иметь возможность опционально указывать желательный тип переменной/тип результата, возвращаемого функцией.
Только вот хочу я этого прозрачно и однотипно во всех местах языка.
А не как сейчас с исключениями.. тут мы бросаем PHP error, и лови как хочешь, а тут вывешиваем эксепшен с красивеньким бэктрейсом. Хотите везде эксепшен - вертите обёртки над error_handler. Какого чёрта! Что, нельзя автоматом все ошибки в исключения перевести?