2012-02-28 52 views
-1

我有一个字符串数组,应该在创建新类时用作约束条件。从字符串中提取相关信息的最佳方法是什么?

他们看起来像这样:

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

,并且,你可以看到,由“名”,这将是一个属性(和将有GET方法/设置的值其持有)

约束本身是有效的红宝石布尔值。

从这些字符串获取所需信息并在方法中实现它们的最佳方法是什么?

截至现在我去砍了绳子,像这样:

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

等等,但是这真的感觉就像我使其更难比它..

+0

你必须仔细元编程能力。 – 2012-02-28 20:59:36

+1

你应该接受一些答案。它给人们更大的动力来回答你的问题。 – 2012-02-28 20:59:56

+0

对不起,我真的很新。 Ruby和stackoverflow .. – BSG 2012-02-28 21:09:36

回答

0

尝试Split方法。如果你想后,才“使用这样的信息:

username = "abcd'hijk"  => "abcd'hijk" 
username.split("'").last => "hijk" 
+0

但我仍然必须得到索引职位这样做..? – BSG 2012-02-28 21:10:02

+0

我添加了一个示例,使其更易于理解。让我知道如果这仍然没有帮助。 – Josh 2012-02-28 21:30:56

+0

啊,'.last'..谢谢一堆。 :) – BSG 2012-02-28 21:35:18

0

不同方式

a = "abcd'hijk" 

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

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

a =~ /'(.+)$/ 
puts $1 #=> hijk 
相关问题