2012-10-31 47 views
3

這是在booggie 2中使用python腳本的特定問題。如何將多個字符串從腳本返回到booggie 2中的規則序列?

我想將多個字符串返回到序列並將它們存儲在變量中。

腳本應該是這樣的:

def getConfiguration(config_id): 
    """ Signature: getConfiguration(int): string, string""" 

    return "string_1", "string_2" 

在序列我想有這樣的:

(param_1, param_2) = getConfiguration(1) 

請注意:booggie項目已經不存在了,但導致的發展Soley Studio涵蓋了相同的功能。

+1

嗯......你的代碼只是做那個alrea DY。 :) http://codepad.org/VKJJybm3 – AKX

+0

抱歉,這是我們的具體實現booggie。我應該早一點降低。 – brgn

回答

2

不過,這是不可能返回多個值,但現在一個Python列表轉換成C# - 陣列,該序列中的作品。

的Python腳本本身應該是這樣的

def getConfiguration(config_id): 
    """ Signature: getConfiguration(int): array<string>""" 

    return ["feature_1", "feature_2"] 

在序列中,你可以使用這個列表,如果它是一個數組:

config_list:array<string>    # initialize array of string 
(config_list) = getConfigurationList(1) # assign script output to that array 

{first_item = config_list[0]}   # get the first string("feature_1") 
{second_item = config_list[1]}   # get the second string("feature_2") 
+0

我建議在序列中使用以下內容來訪問列表中的條目: – user1961684

3

返回的元組

return ("string_1", "string_2") 

參見本實施例中在2 booggie

In [124]: def f(): 
    .....:  return (1,2) 
    .....: 

In [125]: a, b = f() 

In [126]: a 
Out[126]: 1 

In [127]: b 
Out[127]: 2 
+1

OP的示例代碼已經返回一個元組。 – AKX

7

腳本被限制爲單個返回值。 但是你可以返回一個包含你的字符串的數組。 可悲的Python數組不同於GrGen數組,所以我們需要先轉換它們。

所以,你的例子是這樣的:

def getConfiguration(config_id): 
    """ Signature: getConfiguration(int): array<string>""" 

    #TypeHelper in booggie 2 contains conversion methods from Python to GrGen types 
    return TypeHelper.ToSeqArray(["string_1", "string_2"]) 
+0

謝謝!我如何使用這個返回值然後在序列中?我想是這樣的: 'list:array ' 'config_list:array ' – brgn

+0

最後,這被重新實現了。我現在正在發佈最終的解決方案。 – brgn

1

對於上面的例子中,我建議使用下面的代碼來訪問陣列中的條目(在序列中):

config_list:array<string>    # initialize array of string 
    (config_list) = getConfigurationList(1) # assign script output to that array 

    {first_item = config_list[0]}   # get the first string("feature_1") 
    {second_item = config_list[1]}   # get the second string("feature_2") 
+0

非常好,謝謝! 我會相應地調整示例。 – brgn

相關問題