keyword-argument

    10熱度

    4回答

    Ruby 2.0.0支持關鍵字參數(KA),我想知道在純Ruby環境中該功能的優點/用例 - 尤其是當根據由於每次調用具有關鍵字參數的方法時需要執行的關鍵字匹配而導致性能損失。 require 'benchmark' def foo(a:1,b:2,c:3) [a,b,c] end def bar(a,b,c) [a,b,c] end number = 1000

    0熱度

    2回答

    我希望能夠包裝一個函數,同時仍然允許外部函數中的可選(關鍵字)參數。我可以這樣做: def outer(p1, p2, *a, **k): inner(*a, **k) 但是如果我想讓p2成爲「可選參數」呢?很顯然: def outer(p1, p2=None, *a, **k): inner(*a, **k) 將無法​​正常工作,我知道爲什麼它不會工作。我想知道是否有

    15熱度

    1回答

    在groovy中可以使用默認值命名參數嗎?我的計劃是製作一種對象工廠,爲了獲得具有默認值的對象,可以根本不調用任何參數。此外,我需要的功能顯式設置對象的任何參數。例如,我相信這對Python關鍵字參數是可能的。 我試圖用現在的代碼是一樣的東西下面 // Factory method def createFoo(name='John Doe', age=51, address='High Stre

    0熱度

    2回答

    def main(): COUNT = 1 food = [] n = int(input("Enter the number of items on your grocery list.\n")) for i in range(1, n+1): food.append = (input("What is item #" + str(COU

    9熱度

    2回答

    我想要一個接受散列和可選關鍵字參數的方法。我試圖定義這樣的方法: def foo_of_thing_plus_amount(thing, amount: 10) thing[:foo] + amount end 當我調用這個方法與關鍵字參數,它的工作原理如我所料: my_thing = {foo: 1, bar: 2} foo_of_thing_plus_amount(my_th

    0熱度

    2回答

    我想弄清楚在Python中使用* args時是否可以保留一個可選參數(使用它的默認值)。以下代碼通過「print(a)」工作,因此在deriv函數調用中顯式包含可選參數h。我能以某種方式離開它(h)嗎?我的嘗試(「b = ...」,「c = ...」,「d = ...」)失敗。有另一種方法嗎? def deriv(f, x, h=1.e-9, *params): return (f(x+

    3熱度

    4回答

    我有這樣的功能: (defn foo [{a :keya b :keyb}] (list a b)) 我打電話這樣說: (foo {:keya "hi"}) ; Returns ("hi" nil) 如果我不給keyb關鍵字參數,它需要零爲了那個原因。有沒有辦法確保它爲它拋出異常,而不是將它作爲零。 (我知道我可以手動檢查並拋出一個異常,但有其強制約束的任何特殊選項。)

    7熱度

    2回答

    我可以找到的所有文檔都說直到Ruby 2.0才引入關鍵字參數。 但陣列#洗牌看起來像它採用所謂的「隨機」關鍵字參數:http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-shuffle 這是一個關鍵字參數?如果不是,那是什麼?關鍵字參數有什麼其他用途在Ruby 1.9.3中?

    11熱度

    3回答

    考慮具有以下簽名的函數: (defn make-widget [& {:keys [x y] :or {x 10 y 20}}] ...) 什麼是傳遞一個地圖功能的最佳途徑,如: (make-widget {:x 100}) 或 (make-widget {:y 200 :x 0}) 我目前想到的是通過vec,flatten和apply例如: (apply make-widget (

    2熱度

    1回答

    我想創建一個線程,而在一個類內啓動另一個類的構造函數,但它看起來像pool.apply_async沒有像我期望的那樣傳遞kwargs。這裏是我的代碼(下調至僅包括線程代碼): from MyDatabaseScript import DB class Trinity: def __init__(self): #lets split a thread off and w