「ライブラリ」タグアーカイブ

AgentMaps – 地図上で多数の人が動くシミュレーションを作るためのライブラリ

AgentMapsは、JavaScript 上で地図ベースの社会シミュレーターを作るためのライブラリです。

インタラクティブ地図作成のライブラリ Leaflet.js 上に構築されていて、

  • 道沿いに建物を建てる
  • エージェントを地図上に配置
  • エージェントの建物間の移動をスケジュールする
  • エージェントの見た目を変える

などができるということ。町の中を行き来する住人のモデルを作って、住人間でうつる病気とその伝染率を定義すれば、伝染病がどのように広まっていくか、あるいは一定の範囲でとどまるか、といったことをシミュレーションできます。

こちらのデモでは、人々の移動の速度や、病気の伝染しやすさのパラメーターをスライダーで変化させて、全体の様子がどうなるかを観察することができます。

ツールの使い道ですが、たとえば、イベントで多数の人が集まってきた時に出店や通路を人がどう動くか、とか、ゾンビ物のお話を作る時に、感染が広まる様子をシミュレートしてそれを基に書くとリアリティが高まったりするのかなあ、とか、どうでしょうね。

is-vegan 菜食主義者のための食品判定ライブラリ in JavaScript

肉や魚だけでなく、牛乳など直接は命を奪わない食材も忌避する完全菜食主義(ヴィーガン)のためのライブラリが is-
vegan
です。

利用例はこんな感じ。牛乳はダメで、豆乳はOKと。


import * as isVegan from 'is-vegan';

// example for single ingredient
isVegan.isVeganIngredient('soy'); // true
isVegan.isVeganIngredient('milk'); // false

作りとしては src/util/canbevegan.json と nonvegan.json に食材の名前が列挙してあるだけのシンプルなもの。これを訳せば日本語でも使えるかもしれないですね。レシピサイトの材料リストを見て、菜食主義対応かどうかを表示する、なんていう拡張を作ったりできそうです。

食べ物の規制ということだとイスラム教のハラールについても is-haral 的なライブラリが有ったりするのかな、とGitHub を探してみましたが、見つかりませんでした。あちらは単純に食材の種類で決まるわけではないので同じ手は使えないのかもしれませんね。

via Hacker News

Anyprint – いろんな言語のprint命令がPythonで使えるライブラリ

ライブラリ anyprint をインポートするだけで、Python で以下のような出力文が書けるようになります。


printf("printf %d\n", 10);

fmt.Println("hello")

cout << "Hello, C++!" << endl;

Print["Hello from Mathematica!"]

console.log("yes");

io.write("lua land")

System.out.printf("java stuff\n");

System.Console.WriteLine("C# looks awkard");

Ada.Text_IO.Put_Line("Ada is cool")

IO.puts("elixir")

現在サポートされている他言語は、go, Java, VB .NET, C(とその類似言語), ActionScript, Ada, Amiga E, ASP, B, D, PureBasic, Clipper, C++, C#, Delphi, JavaScript, Lua, Mathematica, matlab, nim, Pascal, Pike, Elixir のようです。

Objective-C の NSLog, Ruby のp はプルリクエストが出ています。Closure風 と Rust風は Python の中では難しいと作者が答えていますが、誰か解決できる人がいたら挑戦してみてはどうでしょうか。

Pythonがメインの言語でない人でも、これを入れておけば自分の慣れた方法でprintできますね。

利用者からの推薦文が載ってますが、味わい深いです。

  • 「おかしいよあんた」
  • 「馬鹿馬鹿しいし役立たずだ」
  • 「僕の推薦文を追加してよ『なんて正確な推薦文たち』」
  • 「kragniz, おかしなPythonのメタモジュールばっかり公開するのはよせよ」

via Hacker News