Строковая переменчивость Ruby

Класс должен быть определен, прежде чем вы сможете использовать его в качестве типа.

Кроме того, в третьем примере вы пытаетесь использовать константу в качестве типа. Это не будет работать, так как A не имеет определения класса и, следовательно, не может быть объявлено как тип. Ознакомьтесь с документами Typescripts по классам и определениям типов для более подробного примера.

9
задан Community 23 May 2017 в 12:09
поделиться

1 ответ

Едва ли уверенный, каков точно Ваш вопрос, но рассматривает следующий код:

10.times { puts "abc".object_id }

Это распечатывает 10 других идентификаторов. Почему? Просто, потому что Вы знаете, что это строковое изменение привычки не означает, что Ruby делает. Если Вы думаете это "abc" должен только быть создан однажды затем, что происходит, если Вы делаете:

10.times { puts "abc".upcase! }

upcase! метод видоизменяет строку, чтобы быть верхним регистром, на следующем повторении строка, созданная в первом повторении, больше не является тем же.

Возможно, отправьте пример кода, который сбивает с толку Вас?

7
ответ дан 4 December 2019 в 23:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: