我想找到一个方法的路径,比如“p2-SnakesAndLadders/snakes/DieTest/reached”,并通过在前面加上“|java+method://”并将该字符串用作位置来将其转换为位置。相反,我想获取一个位置的字符串值。Location 或 String 的文档中似乎没有任何提示。
问问题
497 次
2 回答
2
首先,您可以通过将字符串添加到位置的末尾来做到这一点,就像这样(我认为您需要三个正斜杠,至少在我的情况下,如果我只使用两个,我会得到一个格式错误的 URI 异常):
rascal>l = |java+method:///| + "p2-SnakesAndLadders/snakes/DieTest/reached";
loc: |java+method:///p2-SnakesAndLadders/snakes/DieTest/reached|
第二个你可以使用路径字段
rascal>l.path;
str: "/p2-SnakesAndLadders/snakes/DieTest/reached"
如果你想摆脱第一个斜线,你可以这样做
rascal>l.path[1..];
str: "p2-SnakesAndLadders/snakes/DieTest/reached"
于 2013-09-10T14:20:42.437 回答
1
谢谢。我还发现插值效果很好,所以如果我有一个 uri,那么
uri == |<uri.scheme>://<uri.authority><uri.path>|
于 2013-09-10T15:13:43.030 回答