仔细想想其实 move_to(10.丝()) 也不是非要rust这样有trait的语言才行
完全可以
struct Length(i32);
fn move_to(length: Length)...;
fn 丝(number: i32) -> Length ...;
fn um(number: i32) -> Length ...;
...
move_to(丝(10));
但是的确好像在以往各语言的工程实践中不常见到这种充分利用类型系统的风格。貌似这风格也是从函数式圈子里发展过来的。
【 在 lvsoft 的大作中提到: 】
: 是的,这个东西只是用类型系统去约束业务逻辑,现代语言都可以做到。
: 但选择一门语言更重要的是选择了一种风格。比如我前面说的这个例子,
: 如果不是写这个库的人有这个洁癖,rust下当然也是可以和c一样用&&和|=的方式来读和写bit位的。
: ...................
--
FROM 123.120.171.*