プログラミング
概要 Javaではインスタンスを生成する際に、不正なオブジェクトの生成を防ぐためにコンストラクタで引数のバリデーションをしたりアクセス制御を行ったりします。しかしコンストラクタの定義には制約が多く、ロジックを表現出来る幅が大変限られてしまいます…
概要 Javaではレシーバーが特定のParameterized Typeである時のみ呼び出す事が出来るインスタンスメソッドを定義するという言語機能はありません。しかし、Parameterized Typeを引数に取る関数を外部で定義し、ジェネリック型には外部から渡された関数を自身…
概要 コレクションにIterableを実装させる事で、そのコレクションのインスタンスを拡張for文の対象にでき、簡単にイテレート出来るようになります。しかし、IterableではIteratorを返すメソッドを1つしか定義出来ないため、拡張for文によるコレクションの走…
何があったの? Gradleを利用して自作したJavaライブラリをGitHub Packagesを使って公開しようとした所いくつか罠にはまりました。今回はハマってしまった罠とその対処法を紹介します。今回の問題にあたってGitHubさんのサポートを利用しましたがGitHubさん…
最近OpenComputersと言うMinecraftのModを使うためにLuaというプログラミング言語を勉強しています。Luaは高速なスクリプト言語で、ゲームで使われることが多い?らしいです。動画投稿者の方はAviUtilなんかで使った事があるかもしれません。今回はそのLua言…