Size: a a a

2020 May 18

MS

Minira Samadova in RubyRush
Ссылку, в смысле документацию🙏
источник

PP

Pavel Protchenko in RubyRush
В node console.log(‘Array ${fruits}’) аналогичная запись - это интерполяция
источник

PP

Pavel Protchenko in RubyRush
Только там вместо ковычек бэктики)
источник

MS

Minira Samadova in RubyRush
>(‘Array ${fruits}’)

Спасибо! Да, в node этот метод я знаю
То есть и в Руби такой есть
источник

PP

Pavel Protchenko in RubyRush
Ну аналог #{}
источник

MS

Minira Samadova in RubyRush
Спасибо
Но опять же мой изначальный вопрос был в том почему в Руби обязательно переводить в строку, либо использовать интерполяцию (то что вы предложили что в принципе тоже самое), когда как в Node  такой код не дает никакой ошибки и результат выводится в консоль

let fruits = ["apple", "blueberry"];

console.log("Array " + fruits)
источник

MS

Minira Samadova in RubyRush
Это специфика Руби? Или это нормальный behavior и то что JavaScript не выдает ошибки  - это нестандартно? (дополнение самого JS)
источник

DF

Denis Frolov in RubyRush
Minira Samadova
Это специфика Руби? Или это нормальный behavior и то что JavaScript не выдает ошибки  - это нестандартно? (дополнение самого JS)
p fruits наберите и к терминале тот же результат будет, что и в js, через console. log
источник

V

Valery in RubyRush
Minira Samadova
Спасибо
Но опять же мой изначальный вопрос был в том почему в Руби обязательно переводить в строку, либо использовать интерполяцию (то что вы предложили что в принципе тоже самое), когда как в Node  такой код не дает никакой ошибки и результат выводится в консоль

let fruits = ["apple", "blueberry"];

console.log("Array " + fruits)
Проблема в том, что вы не читаете сообщение об ошибке. Какую ошибку пишет Ruby?
источник

MS

Minira Samadova in RubyRush
:D Ребят, вы читаете мой вопрос?

Я знаю что если набрать puts fruits выйдет результат
Мне было интеренсо почему

fruits = ['apple', 'blueberry']

puts 'Array' + fruits

выдает ошибку, когда в JS нижеследующий код выводит результат в консоль

let fruits = ["apple", "blueberry"];

console.log("Array " + fruits)
источник

V

Valery in RubyRush
Minira Samadova
:D Ребят, вы читаете мой вопрос?

Я знаю что если набрать puts fruits выйдет результат
Мне было интеренсо почему

fruits = ['apple', 'blueberry']

puts 'Array' + fruits

выдает ошибку, когда в JS нижеследующий код выводит результат в консоль

let fruits = ["apple", "blueberry"];

console.log("Array " + fruits)
Текст ошибки что говорит?
источник

V

Valery in RubyRush
Проблема не в puts.

Если вы введёте 'Array' + fruits в консоли erb будет то же самое.
источник

MS

Minira Samadova in RubyRush
Да!!
Мне было интересно различие консоли node и erb
Дело в том что node переводит array в строку, а erb нет?
источник

MS

Minira Samadova in RubyRush
Причина почему одна консоль выдает ошибку, а другая выводит результат-строку в консоль
источник

V

Valery in RubyRush
Запись `'Array' + fruits эквивалентна `Array.+(fruits).

Т.е. у строки 'Array' вызывается метод +, которому в качестве аргумента передаётся массив fruits. А метод + определённый у класса String требует чтобы его аргумент был строкой.
Изучите документацию на метод + для класса String.
источник

SU

Serg Udo in RubyRush
Minira Samadova
Да!!
Мне было интересно различие консоли node и erb
Дело в том что node переводит array в строку, а erb нет?
Вопрос разной типизации в Руби и Джаваскрипт. С чего бы в erb, массив стал строкой?
источник

MS

Minira Samadova in RubyRush
Valery
Запись `'Array' + fruits эквивалентна `Array.+(fruits).

Т.е. у строки 'Array' вызывается метод +, которому в качестве аргумента передаётся массив fruits. А метод + определённый у класса String требует чтобы его аргумент был строкой.
Изучите документацию на метод + для класса String.
То есть другими словами в Руби невозможно использовать оператор + для разных типов данных?
источник

EL

Evgeniy Laskutkin in RubyRush
Minira Samadova
То есть другими словами в Руби невозможно использовать оператор + для разных типов данных?
Да.
источник

MS

Minira Samadova in RubyRush
Стоп
>А метод + определённый у класса String

+ это ведь оператор, а не метод класса О_О
источник

V

Valery in RubyRush
Minira Samadova
То есть другими словами в Руби невозможно использовать оператор + для разных типов данных?
Для разных типов данных по разному.
1 + 1.2
Т.е. сложение Integer и Float вернёт 2.2, который является типом Float
источник