Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

fn foo<T>() { use std::sync::{Once, ONCE_INIT}; static INIT: Once = ONCE_INIT; INIT.call_once(|| { // run initialization here println!("Called"); }); } fn main() { foo::<i64>(); foo::<i64>(); foo::<isize>(); } 0000000000007510 <_ZN4test4main17h916a53db53ad90a1E>: 7510: 50 push rax 7511: e8 5a ff ff ff call 7470 <_ZN4test3foo17h61cadb66d9062e2eE> 7516: e8 55 ff ff ff call 7470 <_ZN4test3foo17h61cad
吾はGoでGenericsがないことに関してはわりと肯定的な立場ではあるのだが、流石に「golang と Generics と私 」の記事の例はどうかと思ったので、畳み込みfold関数を例にGenericsが解決する問題を例示してみようと思う。 なぜfoldかというと、 List<T> の要素を加算して集約する処理を書くなら普通はfoldで実装するし、foldがあればmapもfilterも実装できるので。 javaで畳み込み Stream APIで用意されてるreduceで一発です List<Integer> list = Arrays.asList(1, 2, 3); // listの加算とか畳み込みで一発ですよ int result = list.stream().reduce((a, b) -> a + b).get();
この記事はTypeScript Advent Calendarの6日目の記事です。 この記事では、主にTypeScriptの型定義ファイルを作成する時、どのようにジェネリクスを使うと良いのかを、jQuery の型定義を元に考えてみます。 とは言ってもあまりTypeScriptの文法面に詳しいわけではないので、むしろ学習メモですが... 動機 TypeScriptでは DefinitelyTypedコミュニティに、様々なjsライブラリの型定義ファイルが集約されており、普段、自分で型定義ファイルを作成する際に上手い書き方がわからない時など、このサイトで他のライブラリを参考にすることがよくあります。 それらのライブラリで頻繁にジェネリクスが使われているの目にするうち、自分自身では今のところほとんどジェネリクスを使うことがないのですが、「やっぱり一度理解しておかないといけないのでは...」という気
TypeScript 1.6.0-betaが出ました! 今回のアップデートはかなり多くの更新を含む、大規模なアップデートであると言えます。 ↑ここまで前回のコピペ だからlatestタグで -beta を出すんじゃねぇって言ってんだろ(#゚Д゚)ゴルァ!! と思わなくもないですが、出たら出たで嬉しいものです。 追記 @vvakame npm@2.11.2で、pre-release version(= tag付きのversion)をmatchさせるのを止めたようです。docsには元よりそう書いてあったっぽく、patchという認識。 https://t.co/rygKxlYRE7 — Daijiro Wachi ☕ (@watilde) 2015, 9月 5 なので、npm install typescript だと1.5.3が入って、npm install typescript@lates
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く