@rubylang

Страница 796 из 1684
Alex
08.12.2016
14:35:02
car - автомобиль

Tony
08.12.2016
14:35:37
Например, яркими примерами слабой системы типов являются те, что лежат в основе языков Си и C++. Их характерными атрибутами являются понятия приведения типов и каламбуров типизации. Эти операции поддерживаются на уровне компилятора и часто вызываются неявно. Операция reinterpret_cast в С++ позволяет представить элемент данных любого типа как принадлежащий любому другому типу при условии равенства длины их низкоуровневой реализации (битового представления) и изменить его состояние образом, недопустимым для исходного типа. Неосторожное использование таких операций нередко является источником крахов[en] программ. Несмотря на это, в учебной литературе по С++ его система типов описывается как «сильная», что, с учётом тезисов Луки Карделли[3] и других, следует понимать как «более сильная, чем в Си». В противоположность этому, в языках, типизированных по Хиндли — Милнеру, понятие о приведении типов отсутствует в принципе. Единственным способом «преобразовать» тип является написание функции, которая алгоритмически строит значение требуемого типа на основе значения исходного типа. Для тривиальных случаев, таких как «преобразование» целого без знака в целое со знаком и наоборот, такие функции обычно входят в состав стандартных библиотек. Наиболее часто используемым случаем такого рода функций являются специальные определяемые функции с пустым телом, называемые конструирующими функциями или просто конструкторами.

I
08.12.2016
14:35:58
слишком много буков

давай лучше своими словами

Google
I
08.12.2016
14:36:09
можно стикерами

Alex
08.12.2016
14:36:10
didn't read lol?

можно стикерами
Только смайлами, не надо тут стикеров

Tony
08.12.2016
14:36:30
C++ C — слаботипизированные

Python является одним из примеров языка с сильной динамической типизацией

Alex
08.12.2016
14:37:06
??????? - угадайте слово.

I
08.12.2016
14:37:09
а я могу на вики правку внести, ты в курсе?)

и потом ты будешь цитировать мои слова

v
08.12.2016
14:37:30
yt xbnfqnt nfrbt ntrcns yf dbrb

I
08.12.2016
14:37:38
и верить в них)

Tony
08.12.2016
14:37:39
я это в книге еще читал когда-то

v
08.12.2016
14:37:50
не читайте такие определения на русской вики

их с английской переводят

Google
v
08.12.2016
14:38:01
местами хреново

Alex
08.12.2016
14:38:19
двойная терминология это бич неанглоязычных сообществ, да.

Tony
08.12.2016
14:38:35
Сильная / слабая типизация (также иногда говорят строгая / нестрогая). Сильная типизация выделяется тем, что язык не позволяет смешивать в выражениях различные типы и не выполняет автоматические неявные преобразования, например нельзя вычесть из строки множество. Языки со слабой типизацией выполняют множество неявных преобразований автоматически, даже если может произойти потеря точности или преобразование неоднозначно. Примеры: Сильная: Java, Python, Haskell, Lisp; Слабая: C, JavaScript, Visual Basic, PHP.

Alex
08.12.2016
14:38:38
поэтому я стараюсь всегда на английском читать, а то потом путаница будет между терминами.

это питон то не позволит смешивать int и float?

$ python Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 3 + 3.3 6.3 >>>

Konstantin
08.12.2016
14:39:32
ээээ

Alex
08.12.2016
14:39:38
ага, не производит неявных преобразований, ну ну.

Konstantin
08.12.2016
14:39:40
чет у тебя путается

Konstantin
08.12.2016
14:40:28
речь идет про то что если у тебя для float не определен to_i, то язык не конвертнет тебе его по собственному разумению

Konstantin
08.12.2016
14:40:45
а упадет с ошибкой "не шмогла"

Tony
08.12.2016
14:40:53
ну я предположил

Alex
08.12.2016
14:41:09
а упадет с ошибкой "не шмогла"
>>> a = 3 >>> a.__class__.__name__ 'int' >>> b = 3.3 >>> b.__class__.__name__ 'float' >>> a + b 6.3

I
08.12.2016
14:41:10
а упадет с ошибкой "не шмогла"
ruby, python автоматом делают little implicit type conversion

Alex
08.12.2016
14:41:11
Врешь не уйдешь

Serhii
08.12.2016
14:42:19
кто с докераом работает? подскажите вот висит у меня пачка контейнеров со статусом Exited - с ними надо чето делать или не?

Rafkat
08.12.2016
14:44:51
умерли онии

Google
Tony
08.12.2016
14:45:40
можете объяснить что такое callback, ибо у меня путаница в голове

Andrey
08.12.2016
14:46:47
ты передаешь в функцию другую функцию, которую она должна вызвать, когда закончит делать свои штуки

Artur
08.12.2016
14:46:49
функция которая будет вызвана после завершения работы функции

Tony
08.12.2016
14:46:59
а

понял

спасибо

Alex
08.12.2016
14:47:42
callback - аргумент в котором ты передаешь callable который будет вызван по какому либо событию.

callable в js это функции и замыкания вроде.

в рубях proc/lambda

Указатель на обычные функции вроде нельзя передать в рубях.

Andrey
08.12.2016
14:48:26
замыкание - это другое

да в рубях вообще блок можно передать же

Alex
08.12.2016
14:48:38
замыкание может передаваться как callback

можно, но это не callback :)

Andrey
08.12.2016
14:49:02
разве не наоборот? callback можно передать замыканием

Artur
08.12.2016
14:49:15
в рубях proc/lambda
в руби есть обычные функции? о_О

Alex
08.12.2016
14:49:18
callback это аргумент где передается что то что можно вызвать

Artur
08.12.2016
14:50:15
а, ну инстанс методы, ну ты же можешь вызывать метод как коллбэк, передаешь название метода и пошло дело

Google
Tony
08.12.2016
14:50:18
function first(){ var a = 5 return function() { a+=1 } }

focusshifter
08.12.2016
14:50:37
в 1.13 добавили хелперы для этого, https://github.com/docker/docker/pull/26108. в <1.13 придется руками

Alex
08.12.2016
14:50:38
в js можно

Tony
08.12.2016
14:50:48
в данном случае внутренняя функция — это callback?

Alex
08.12.2016
14:50:56
нет

Эта функция возвращает функцию

Это не callback

Admin
ERROR: S client not available

Tony
08.12.2016
14:51:58
a def meth func puts "abc" func end

func — callback?

Alex
08.12.2016
14:52:19
let stuff = (x) => console.log("lol") setTimeout(3000, stuff) Вот здесь stuff это callback. call back - позвонить обратно

func — callback?
Да, тут ты принимаешь callable что то и дергаешь его потом

только скорее всего в рубях выглядит так: func.call

I
08.12.2016
14:52:47
вот уж где про колбеки поговорить - так это в js :)

Alex
08.12.2016
14:52:58
в рубях толком коллбэки и не юзают.

а вот блоки запросто.

I
08.12.2016
14:53:24
setTimeout(stuff, 3000)
ну все, унизил

Alex
08.12.2016
14:53:26
setTimeout(stuff, 3000)
и? я не обещал что пример точно работает

Google
Tony
08.12.2016
14:53:31
а

ладно

понял

в общем это аргумент, который можно вызвать

I
08.12.2016
14:53:46
я знаю питонистов, которые асинхронный код с колбеками пишут. Я их еще убить все хочу

Alex
08.12.2016
14:53:50
Я не настолько джсер чтобы помнишь порядок аргументов, я на нем не так и много писал.

ща коллбэки даже в джс не очень любят

все на цепочки промайсов переходят

I
08.12.2016
14:54:15
да, проще промисы ебануть

но, быть может, ты зря его про промисы сейчас грузишь

а то ведь как начнет везде их совать

Alex
08.12.2016
14:54:48
не понимаю зачем ему вообще js сейчас.

Надо определиться либо руби учить либо джс

I
08.12.2016
14:55:08
ты и доку по кристалу прочитал

v
08.12.2016
14:55:22
I
08.12.2016
14:55:23
только результата мы не увидели

Tony
08.12.2016
14:55:24
Alex
08.12.2016
14:55:27
потому что много инфы

v
08.12.2016
14:55:30
главное кристал не учить

Alex
08.12.2016
14:55:30
за двумя зайцами.

Страница 796 из 1684