functional-programming

    0熱度

    1回答

    我正在嘗試使用函數式編程來編寫以下函數。 def mv(A,X,n): Y = [0]*n for i in range(n): for j in range(n): Y[i] += A[i][j] * X[j] return Y 減法函數可以將一個向量乘以一個矩陣嗎?因爲這是我在這裏要做的。我正在嘗試將矩陣A與矢量X相乘,但收到錯誤。錯

    1熱度

    1回答

    我想在python中使用reduce函數編寫一個累積和的版本。這是我到目前爲止的代碼: from functools import reduce def my_cum_sum(arg): return reduce(lambda a, x: (a.append(a[-1] + x)) if len(a) > 0 else a.append(x), arg, []) assert(

    3熱度

    2回答

    我剛剛在序言開始了,我希望能執行以下任務: 做謂語A(P,N,L)使得對所有C這是L,P(N,C)第n個元素。 基本上我想執行範圍[0..N]的地圖。 在Haskell,我最熟悉的語言,這看起來像 f p n = map(p)[0..n] (哈斯克爾不相當有謂語,所以我在這裏採取了一些自由) 或pointfree f = (.enumFromTo 0).map 而且看起來我應該能夠在Pro

    1熱度

    2回答

    我是java/kotlin中函數式編程的新手,並進行一些練習。 只是想知道如何在調用lambda時傳遞參數。例如,在這裏調用someMethod我需要傳遞一個Int參數。 fun lambdaTest(someMethod: (Int) -> Boolean){ someMethod() } 這怎麼辦?答案可能很簡單,我只是沒有在任何地方找到它,在文檔中有隻列出的例子,如果其中的答

    1熱度

    1回答

    考慮下面的代碼片段: type asdf = '.' | number; const foo: asdf[] = ['.', 1, 3, '.']; const bar: number[] = foo.filter(v => typeof v === 'number'); 它無法編譯,因爲編譯器無法推斷出的bar類型是number[]。 爲什麼編譯器不能推導出正確的類型? 什麼是使編譯器理

    -2熱度

    1回答

    我有一個我一直在使用和工作的代碼片段。它在我的應用程序中使用很多,我需要加快速度。以字符串路徑深入訪問對象是否有更好的方法?它需要能夠訪問的屬性和方法,請參閱我下面的例子: function get(obj, path) { var paths = path.split('.'), curProp = obj; for(var i=0;i<paths.leng

    2熱度

    2回答

    正如標題所說,我正在尋找使用lambda表達式來實現一些非常簡短的方法,這一切都不爲人所知。 Python可以做到這一點,C#可以做到這一點,在某種程度上我相信即使是C++現在也可以做到。 但我試圖做一個Java類沒有成功的相同,我查了一切可能回答這個問題,沒有運氣。我寧願不使用100個函數接口來集羣我的應用程序,只是爲了能夠使用lambda表達式來處理更加微不足道的函數或方法,因爲那樣會挫敗編寫

    -1熱度

    1回答

    林學習如何正則表達式的工作,也有在互聯網很好的例子,但我的問題是所有的例子都使用 open System.Text.RegularExpressions 當我嘗試打開該模塊我得到RegularExpressions沒有定義,而當我使用FSharp互動然後我可以使用該模塊,我怎樣才能在與Fsharpc編譯時工作這個模塊。 的錯誤,我得到: [在這裏輸入的形象描述

    3熱度

    1回答

    我試圖取一個字符串,如"hello world : bye world"並獲得["hello world"; ":" ;"bye world"]。

    0熱度

    1回答

    在使用Scala進行函數式編程的過程中,我看到了兩種形式的def聲明。但我不知道它們之間的差異,也不知道它的名稱。我如何獲得更多關於此的信息? 宣言1 def sum(f: Int => Int)(a: Int, b: Int): Int = ??? 宣言2 def sum(f: Int => Int, a: Int, b: Int): Int = ???