language-design

    5熱度

    2回答

    整數,浮點和長Scala中的最大值爲: Int.MaxValue = 2147483647 Float.MaxValue = 3.4028235E38 Long.MaxValue = 9223372036854775807L 來自Scala編譯器的作者,Keynote, PNW Scala 2013,幻燈片16 What's Int.MaxValue between friends?: val x

    2熱度

    1回答

    我有兩個類A和B,兩個定義方法m()。雖然這些方法的簽名是相同的,但它們是兩種完全不同的方法,具有不同的含義。在課堂C中,我想更新m()。而不是寫在類C中的新m(),從A和B熔合兩個m(),我想分開重寫它們。請看下面的代碼: class A { public: virtual void m() {cout << "MA" << endl;}}; class B { public: virtual

    0熱度

    1回答

    爲什麼不允許用戶定義轉換到基類不可用時的基類(或引用):protected或private? 當有一類D及其public基B,有結合引用B(B&或B&&,可能CV修飾)到類D的對象的隱式規則,所以用戶定義轉換到B&沒有意義。但是,當基類爲protected或private時,隱式規則不再適用。那麼爲什麼不允許使用用戶定義的轉換爲B&(或const B&或B&&等)?

    4熱度

    2回答

    假設我有一個叫做T的類型。現在讓我們說我做了一個T類型的數組,它給了我T[]。在代碼,它給出: var myArray = new T[10]; 隨着10的長度因此,我們可以看到,這使得包含10項T類型的陣列。這工作如果T是int,string,BinaryWriter或任何標準。但我們假設T是陣列類型,如int[]或string[]。 然後,如果我們想定義的10項T型(int[])的陣列,它

    1熱度

    2回答

    ML族語言具有自動壓縮功能 - 其中帶有兩個參數的函數調用被認爲一次應用一個參數,f x y = (f x) y - 而其他語言族沒有。 這僅僅是一次歷史性的事故,還是有技術上的原因呢? 請注意,我是而不是問自動捲曲是淨是好還是壞(這是一種主觀判斷)。我在問,它是否與ML家族語言的其他功能產生協同作用,從而使其更加自然地包含在這些語言中,如果是這樣,這些功能是什麼以及協同的性質是什麼?或者相反,其

    1熱度

    1回答

    一種answer到Is Javascript a Functional Programming Language?表示: 函數編程意味着程序被概念化爲一功能的評價,而不是控制流程。代碼是功能的描述,並沒有控制流的固有概念。 我已經瞭解到,當語言支持第一類功能並且沒有控制流程時,它的設計目標必須定義爲功能語言。那麼爲什麼Smalltalk是一種功能語言,不支持其他功能特性,如不可變性,代數數據類型,

    3熱度

    1回答

    例如,如果我儘量延長int,與int不是類型的真實姓名,這個代碼將失敗: type int with member this.IsEven = this % 2 = 0 我必須使用System.Int32代替: type System.Int32 with member this.IsEven = this % 2 = 0 //test let i = 20 if i.IsEven

    3熱度

    2回答

    在函數式編程中,調用不接受參數的函數的正確名稱是什麼?例如: // 2 types of execute functions type Function = | UnitFunction of (unit -> unit) | OperandFunction of (unit16 -> unit) let nop() = () let shiftRegist

    0熱度

    1回答

    據我所知,大多數現代CPU和平臺都是64位的,包括移動處理器。 如果我開發一種新的編程語言,只定位到64位平臺會容易得多。 也許我不知道什麼,有一個32位解決方案的巨大市場,除了傳統的東西?

    0熱度

    1回答

    要防呆,它需要: 清晰的語法 可能使用auto 原子的使用,以防止意外的失誤像if (!opt) { opt->call(); } 沒有運行時斷言(編輯 :和例外) 無編譯器警告 (可選)無靜態檢查器警告GS 到目前爲止,我已經試過這4個選項(假設具有可變optional<T> opt;): 選項0標準用法 if (opt) { opt->call(); } +清潔代碼 +自然控制