2012-02-28 76 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 
相關問題