IT討論區(212) - 你好IT <==> 你好,IT

漢語多功能字庫

1001 回覆
2 Like 6 Dislike
MelonPan 2023-10-26 16:15:39
ハコスベールズ 2023-10-26 16:21:15
薄扶林俊傑 2023-10-26 16:21:23
労働はクン 2023-10-26 16:41:53
報左?
queny123 2023-10-26 16:48:41
代公司多謝你做免費奴工
渣華師 2023-10-26 17:11:19
https://scastie.scala-lang.org/yipZ2kMJRlGB2J9Rhu0fLg
trait Cloneable[+T <: AnyRef]:
  def test_clone(): T

case class Foo() extends Cloneable[Foo]:
  override def test_clone() = this.copy()
case class Bar()
case class Wrapper[T](value: T)

extension [T <: Cloneable[T]](x: Wrapper[T])
  def test_clone(): Wrapper[T] = Wrapper(x.value.test_clone())

def main() =
  val foo = Wrapper(Foo())
  val bar = Wrapper(Bar())

  foo.test_clone()
  bar.test_clone() // can't compile

main()
労働はクン 2023-10-26 17:32:38
諗諗下單純係咁大部分lang都得
不過加埋polymorphism就好似幾乎得rust得
#[derive(Clone)]
struct Foo {
}

struct Bar {  
}

struct Wrapper<T> {
    pub value: T,
}

impl<T> Clone for Wrapper<T> where T : Clone {
    fn clone(&self) -> Self {
        return Wrapper {
            value: self.value.clone()
        }
    }
}

fn main() {
    let foo = Wrapper { 
        value: Foo {}
    };
    let bar = Wrapper { 
        value: Bar {}
    };
    
    clone(foo); // ok
    clone(bar); // won't compile
}

fn clone<T: Clone>(clonable: T) -> T {
    return clonable.clone()
}
手一黏便緊(UTC+9 2023-10-26 17:40:26
C++20
労働はクン 2023-10-26 17:45:49
萬能既c++
How?
手一黏便緊(UTC+9 2023-10-26 17:46:24
C++本來就可以polymorphism… 隨便一個global template function clone()…
惨過反印度 2023-10-26 17:50:20
未 但對前路迷惘中
労働はクン 2023-10-26 17:54:10
C++ concept 其實係類似structural typing ?
手一黏便緊(UTC+9 2023-10-26 17:58:16
其實即係SAFINE既靚仔版 as in syntax易讀啲 compile error易讀啲
但係好似冇咩SAFINE做唔到既野
労働はクン 2023-10-26 18:09:55
唔知有冇get錯
睇番你上面段code, clonable好似只係限制個object 有個clone method但冇限制具體return type
其實係咪唔type safe?
例如有個class 既clone 係return void既係咪會出事
MelonPan 2023-10-26 18:13:45
労働はクン 2023-10-26 18:14:44
大家都係咁過來,唔駛太驚#cn
渣華師 2023-10-26 18:22:43
Scala 3
手一黏便緊(UTC+9 2023-10-26 18:29:03
係Clonable入面加個std::enable_if_t<std::is_same<T,decltype(a.clone())>::value,int>;

或者係Clonable尾加&& std::same_as<T,decltype(((T*)nullptr)->clone())>
ハコスベールズ 2023-10-26 19:03:39
問題小年 2023-10-26 19:29:25
Deploy埋過分咗
同埋應該FE,BE分開
花娜娜 2023-10-26 19:44:05
牧師 2023-10-26 20:05:11
問題小年 2023-10-26 20:08:44
労働はクン 2023-10-26 20:14:50
問題小年 2023-10-26 20:15:33
想問microservices,做cross services data pagination, filter, search,你哋會點做?

整多個search service去aggregate data?但咁啲data唔係最update

射event出嚟,再Duplicate data,儲係要用嘅service db?

Directly call services,再人手merge埋一齊?
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞