Лучший способ извлечь соответствующую информацию из строки? - PullRequest
0 голосов
/ 29 февраля 2012

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

Они выглядят так:

constraint :name, 'name.size > 0'
constraint :name, 'name =~ /^[A-Z]/'

И, как вы можете видеть, состоят из 'name', которое будет атрибутом (и будет иметь методы для получения / установки значений, которые оно содержит)

само ограничение является допустимым значением ruby ​​booleans.

Каков наилучший способ получить необходимую информацию из этих строк и реализовать ее в методах?

На данный момент я пытаюсь разрезать строку, что-то вроде этого:

y = String.index("'")
x = String.length
newstr = String[x,y]

и так далее, но на самом деле мне кажется, что я делаю это сложнее, чем есть ..

Ответы [ 2 ]

0 голосов
/ 05 марта 2012

по-разному

a = "abcd'hijk"

a.split("'").last  #=> hijk

a[a.index("'")+1 .. -1] #=> hijk

a =~ /'(.+)$/
puts $1 #=> hijk
0 голосов
/ 29 февраля 2012

Попробуйте метод Split . Если вам нужна только информация после 'используйте ее следующим образом:

username = "abcd'hijk"      => "abcd'hijk"
username.split("'").last    => "hijk"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...