如何将字符串转换为位置,反之亦然?

时间:2013-09-10 09:24:17

标签: rascal

我想选择一个方法的路径,比如“p2-SnakesAndLadders / snakes / DieTest / reach”,并通过在“| java + method://”之前添加并将该字符串作为地点。相反,我想获取一个位置的字符串值。 位置或字符串文档中的任何内容似乎都没有提示。

2 个答案:

答案 0 :(得分: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"

答案 1 :(得分:1)

感谢。我还发现插值效果很好,所以如果我有一个uri,那么

uri == |<uri.scheme>://<uri.authority><uri.path>|