Что означает «:» в Ruby On Rails? - PullRequest
       10

Что означает «:» в Ruby On Rails?

1 голос
/ 13 октября 2011

Я только начинаю изучать Ruby и у меня есть следующий код в проекте:

USER_ATTRS = [:login, :password, :lastname, :firstname, :mail, :admin]

Что это делает?Откуда :login и все остальные вещи?

Это просто свойства класса (пользователя, вероятно)?

Может кто-нибудь помочь мне, пожалуйста?Потому что я не могу найти это в сети.

Ответы [ 3 ]

3 голосов
/ 13 октября 2011

Краткий ответ:

«Символ«: »указывает на символ Ruby»


Ответ средней длины добавит:

Символы - это неизменяемые объекты, которые существенно отличаются от строк.


Реальный ответ:
Вам придется изучать Ruby, чтобы изучать Rails. Я также работал вТакое впечатление, что я могу просто взять Rails и оставить Ruby как еще один язык под моим поясом. Я был не прав. Ruby отличается от других. Я мог бы указать, как он интерпретируется и использует открытые классы, но это не такреальная причина, по которой у вас тоже возникнут проблемы «учиться, как вы», с Ruby и Rails.Ruby допускает своего рода синтаксическую перегрузку, которую некоторые называют «синтаксическим сахаром». Это один из способов сделать код Ruby короче и более читабельным.Это также будет препятствовать вашей способности просто выводить функциональность из кода, который вы видите.Вы увидите много хорошо продуманных примеров Rails, которые оставят вас озадаченными и в конечном итоге разочарованными.Эти примеры будут выглядеть кратко и загадочно, и вы можете задаться вопросом: «Почему они просто не делают это более интуитивным?»Ответ таков: многие также посмотрят на те же самые примеры и скажут: «Это хорошо, Руби».У них есть свои причины.

Средство правовой защиты:
Читать.http://www.manning.com/black2/ и и http://pragprog.com/book/ppmetr/metaprogramming-ruby Эта книга рельсов http://pragprog.com/book/rails4/agile-web-development-with-rails и эти руководства http://guides.rubyonrails.org/ затем взяли меня туда, куда мне нужно было идти.

Что делает этоуказать лучше?Если вы еще этого не сделали, поработайте над этим выдающимся учебником http://ruby.railstutorial.org/ruby-on-rails-tutorial-book Это одно из лучших руководств по программированию, которые я когда-либо читал.Он очень хорошо описывает Rails и говорит о Ruby.Тем не менее, это не удается.Если это единственный источник, из которого вы работаете, вы не будете знать достаточно Ruby, чтобы перейти к тому моменту, когда вы сможете сгенерировать свой собственный код.

2 голосов
/ 13 октября 2011

Они называются символами .Справочную информацию по API для символов можно найти здесь эта ссылка тоже может быть полезна.Как говорит Славош, из этой одной строки кода трудно сказать, откуда она и что она делает.

1 голос
/ 13 октября 2011

USER_ATTRS - это константа, которая содержит массив символов - вы можете думать о символах как о неизменных строках. Трудно сказать, почему это в вашей программе, пожалуйста, добавьте больше источников для лучшего ответа. Но для меня, как следует из названия, эти символы обозначают пользовательские атрибуты, хранящиеся в одном месте, чтобы сделать программу более чистой.

...