こいつらが、それぞれ並列に走ってくれるとよさそうな気がします。継承しなければ、これ、そのまま動きます。Ractor::ActiveObjectを作ってみるでは、作ってみます。中で、実際にオブジェクトを生成し(klass.new_obj)、送信されたメソッドをそっちで動かす。これで、上記プログラムが動くようになります。少ない行数でできましたね。これ、返値見ないから簡単なんですよねぇ。型の呼び出しをしたいなら、ちょっと変えればよさそうです。やって作りましょうね。型やっぱり、返値欲しいですよねぇ、ということで作ってみました。用意(@ret_r)して、それ経由で受け取っています。用意しているというわけです。r.take}こんなコードがちゃんと動きます。fibonar.fib(30)}では計算が行われているかどうかは問いません。ほうがいいな、ここでは。考え出すと、本当にこれでいいのかいろいろある気がしますが、とりあえず、これくらいにしておきます。書くだけで、なんだか、おっと、というようなことが書けるのが、スクリプト言語のいいところですよね。今回のあまり面白くもないオチオチはないと言いましたが、思いついたので一個だけ。例はこんな感じになります。r.take}で同じことができます。返すようなイメージ)。とどっちがいいですかね。一切書かないので、ちょっと簡単そうに見えるような気がします。ほうがやりやすいとかあるかもしれませんね。ありませんでしたが、メソッドが複数になると、また違うのかも(あまり考えていません)。そもそもRactorをActiveObjectというインターフェースで提供する、という案もありました。自由度が高すぎるので、Ractor自体はそういうのを実装するための基盤とすることができる、ということを念頭に置いています(不足がないようにしたいと思っています)。定義ってこれでいいのかな...。Programmer.バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。