cost 88 ms
如何使用驗證器注釋 attrs 字段?

[英]How to annotate attrs field with validator?

我在注釋 attrs class 屬性時遇到問題。 我正在使用 NewType 來定義新的 UserId 類型和屬性凍結類。 這是 mypy 沒有抱怨的代碼,一切正常: mypy 檢查此代碼時沒有任何問題。 使用來自 attrs 的驗證器后出現問題。 mypy 現在抱怨不正確的類型: pro ...

Arrays 和新型模式

[英]Arrays and newtype pattern

我有一個類型,可以表示為 f32,沒有 NaN 或無窮大或負值,並且有最大值,一個簡單的例子可以是人的身高(以米為單位),所以我使用新的類型模式來表示它:struct Height(f32); impl TryFrom<f32> for Height { type Error ...

2022-12-12 15:01:40   2   161    rust / newtype  
了解“newtype”關鍵字

[英]Understanding 'newtype' keyword

對於 uni 作業,我們得到了一行 Haskell 代碼,其中顯示: 首先, TypeError是我們需要為分配實現的東西,所以我不能在這里發布數據聲明,但我的問題是這樣的。 我如何閱讀上面的代碼? newtype TC后面的a是什么? 我也不明白等號右邊是如何重用TC的。 我認為a here 是 ...

為什么將數據重構為 newtype 會加速我的 haskell 程序?

[英]Why does refactoring data to newtype speed up my haskell program?

我有一個程序,它遍歷一個表達式樹,它對概率分布進行代數,采樣或計算結果分布。 我有兩種計算分布的實現:一種( computeDistribution )可以很好地與 monad 轉換器重用,另一種( simpleDistribution )我手動將所有內容具體化。 我不想手動具體化所有內容,因為那 ...

如何檢查 NewType 值的類型?

[英]How can I check the type of a NewType value?

如何在不強制轉換和混淆類型檢查的情況下根據其基本類型str檢查NewType的值? 我聲明了一個新類型: BoardId = NewType("BoardId", str) 我將其用作方法參數,既可以作為單個值,也可以作為除str之外的Iteration 。 我使用instanceof檢查類 ...

如何在編譯時定義自定義類型並驗證正確的值?

[英]How to Define custom types & verify correct value at compile time?

我想在 rust 中定義新類型。 比如說日期,它應該遵循 dd/mm/yy 格式,並且提供的值應該只在編譯時進行驗證。 在 gen 中,我想定義新類型並為可能的值添加限制。就像 i32 和其他原始類型有在編譯時檢查的限制。 ...

如何為新類型定義宏?

[英]How to define Macro for a new Type?

背景所以,我正在玩弄一個名為“NewType”的概念,我從 F# 和 Scala 等語言中獲得靈感。 我的目標,主要是出於學習目的,是構建一個宏,使創建這種抽象只需要一行代碼。 預期用途我想創建一個允許我做這樣的事情的宏: 現在,這是我創建User的方法: 如何實現這個接口? 該界面可能會讓您想起 ...

有沒有辦法讓 Elixir 記錄沒有默認值?

[英]Is there a way to have Elixir Records without default values?

背景我正試圖在 Elixir 中找到一種廉價而簡單的方法來創建新類型,而Records似乎正是我所需要的。 問題但是,Elixir 條記錄需要一個來定義默認值。 不僅如此,它還允許創建空記錄(然后用所述默認值填充)。 對於我的特定用例,這是一個問題。 我不僅沒有任何可以用作默認值的東西,而且我也不 ...

Haskell 在 Scala 中的新類型

[英]Haskell's newtypes in Scala

在 Haskell 中,我們可以聲明新類型以減少動態 memory 分配並創建類型安全的 API。 newtype 僅適用於具有單個構造函數和單個參數的數據類型。 Scala 中是否有類似於 newtype 的東西? 例子: 對於用戶名,我們可以在 Scala 中編寫類似這樣的內容: ...

在新類型上派生 Show 時避免使用雙引號

[英]Avoid double quotes when deriving Show on newtype

我想Show newtype打印新類型的內部值,這樣我就不必每次需要打印時都打開Value val 。{-# LANGUAGE OverloadedStrings #-} import Data.Text newtype Value = Value Text instance ...

newtype 的未裝箱向量掛在 basicUnsafeNew 中

[英]Unboxed vector of newtype hangs in basicUnsafeNew

我正在嘗試在空間中存儲一個簡單的三維點向量。 為此,我新建了一個自定義Point並Data.Vector.Unboxed.Vector newtype Data.Vector.Unboxed.Mutable實例。 但是,由於某種原因,任何使用此類向量的嘗試都會在basicUnsafeNew中陷入無限 ...

如何在安全的 Rust 中為未調整大小的類型及其擁有的對應物(如 `str` 和 `String`)創建新類型?

[英]How can I create newtypes for an unsized type and its owned counterpart (like `str` and `String`) in safe Rust?

我想創建一對新類型Tag(str)和TagBuf(String) ,類似於Path和PathBuf如何包裝OsStr和OsString 。 我的最終目標是擁有一個由TagBuf鍵控的地圖,並且能夠僅使用Tag對其進行索引: fn main() { let mut m: HashMap< ...

2020-11-23 22:31:41   1   224    rust / newtype  
創建由通用 NewType 索引的通用結構

[英]Creating a Generic Struct Indexed by a Generic NewType

我想創建一個使用通用 newtype 進行索引的通用結構。 理想情況下,它看起來像這樣: 泛型usize保證是usize ,像這樣: 這將編譯並正確強制執行類型檢查。 但是請注意get()函數是不正確的。 你如何告訴編譯器I是一個 usize 以便get()函數是正確的? ...

使用 newtype 構造函數映射的效果是什么

[英]What is the effect of mapping with a newtype constructor

在使用類型思考的第 8 章中,我了解到fmap Sum部分 fastSum :: [Int] -> Int fastSum = getSum . mconcat . fmap Sum 有一個O(n)運行時成本,而使用coerce來避免這種開銷。 我知道newtype沒有表示開銷,但我不明 ...

運行時錯誤:沒有因使用“/+/”而導致 (Stacked Int) 的實例

[英]runtime error: No instance for (Stacked Int) arising from a use of ‘/+/’

我寫了一個簡單的類型: Stack和一個 class 類型Stacked與兩個操作“加號”和“減號”的實例。 它已編譯但運行時會產生標題上的錯誤。 代碼是: 我曾嘗試在實例中使用 (Stacked a) =>...,但沒有結果。 我做錯了什么? PS。 我知道我必須檢查 [] 但在這種情況下 ...

Haskell Monoid Instance Question for a newtype

[英]Haskell Monoid Instance Question for a newtype

我正在嘗試定義一個實例: 目標是如果列表中的所有函數都為真,則 function foldMap Join 應該返回 True,如果所有函數都不為真,則返回 false。 我了解 foldMap,以及 Monoid 的 Sum 和 Product 的實例,但是對於編寫 Monoid 的新類型實例來 ...

haskell 中 2 個新類型的“或”模式匹配

[英]Patternmatching on 'Or' of 2 newtypes in haskell

我在 haskell 程序中使用決策圖庫。 為此,我想聲明 2 種不同的(新)類型來跟蹤我正在處理的決策圖類型。 我使用的庫是 cudd,決策圖基本類型是 DdNode,但我的問題僅與 haskell 相關。 通常我想在調用函數時區分它們,但現在我想使用不必區分這兩種類型的 function。 我主 ...

使用相同謂詞進行細化時如何使用 Scala 的 Refined 庫確保類型安全

[英]How to ensure type safety with Scala's Refined library when using the same predicate for refinement

我是 scala 和精煉庫的新手,但我正在嘗試基於 UUID 創建兩種精煉類型。 為此,我這樣做了(注意:本例中的 Uuid 來自 eu.timepit.refined.string.Uuid): 但是,這似乎只創建別名,因此沒有類型安全性。 因此,如果我有一個像Product(a UuidA, b ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM