16/05/18 15:50:42.49 4NyJw2NY.net
trait Push {
fn push(self, c: Container)
}
impl Push for u8
impl Push for (u8, u8)
container.push(1)
container.push((1, 2))
651:デフォルトの名無しさん
16/05/18 16:36:29.40 g+vOVBq1.net
>>648
それオーバーロードでもなんでもなくね?
652:デフォルトの名無しさん
16/05/18 20:51:59.07 pvzqVuHQ.net
>>651
でも同じもの表現してない?
653:デフォルトの名無しさん
16/05/19 01:39:05.88 yE0vr9/W.net
何かこのイカれたブログを思い出した。zero-overheadでheterogeneousなリストを作る話。
URLリンク(nercury.github.io)
654:デフォルトの名無しさん
16/05/30 22:31:42.67 FMy0/Tvb.net
2番め以降の変数の型が違うオーバーロード書けないのね…
655:デフォルトの名無しさん
16/06/01 22:24:24.45 JHsrsE//.net
オーバーロードが追加されることって絶対ないのかな?
めちゃくちゃRust使いたいんだけどこれがないせいで使えない。
656:デフォルトの名無しさん
16/06/01 22:49:23.73 JHsrsE//.net
trait Sql {
fn filter<T>(&self, value: T);
}
impl Sql for i32 {
fn filter(&self, value: i32) {
}
}
impl Sql for String {
fn filter(&self, value: String) {
}
}
みたいなことやりたいのですがエラーになってしまいます。
どうにかできないものでしょうか。
657:デフォルトの名無しさん
16/06/01 23:39:18.93 OaTzWyfO.net
>>656 引数の数が違ったら面倒だけど、この程度だったらtraitを多相にすればいいよ
URLリンク(play.rust-lang.org)
多相と同じ表現力のassociated typeでもいける。
URLリンク(play.rust-lang.org)
658:654
16/06/02 10:39:12.76 LfrYVCEY.net
>>657
ありがとうございます!
これでいけるか試してみます!
659:デフォルトの名無しさん
16/06/13 20:34:44.12 9cIQ9Ton.net
rustのsubredditにゲームの方のRustの投稿がちょくちょく来てたがホッケー選手まで出てくるとは思わなんだ。