2018-08-01から1ヶ月間の記事一覧

円落下の JavaScript 版

obelisk.hatenablog.comここの JavaScript 版です。ボタンをクリックしてみて下さい。 function circleFall(width, height) { var w = window.open("", null, "width=" + width + ",height=" + height); w.focus(); w.document.open(); var st = ` Canvas `;…

Ruby で関数型プログラミングっぽく(コピペ) + Haskell 版

parrot.hatenadiary.jpここのブログ記事を読んで感銘を受けました。だからこれを読んでもらえればよいのですが、せっかくなのでコピペしておきます。元記事に感謝です。まずは問題。 ある数字にそれを逆に並べた数字を足すという計算を、 回文数(上から読ん…

Ruby/SDL を使ってみる

これまで Ruby で画面に線を引いたり円を描いたりするのに、自作の Gem 'oekaki' を使ってきましたが、その中では Gem 'gtk2' を使っていて、たかがお絵かきに GTK+ を使うのは大袈裟すぎるようにも思われたので、Ruby/SDL を使ってみることにしました。Linu…

交差せずに一筆書き(Ruby)

問題: 長方形状に横 5 個、縦 4 個の格子点が全部で 20個、等間隔に並んでいます。このすべての格子点を一筆書き(交差してはならない)で辿るとすると、その辿り方は全部で何とおりあるでしょうか。 ただし進む方向は上下左右のみで、また始点と終点が反対…

Ruby でファイル転送(改良版)

obelisk.hatenablog.comローカルエリア内に PC が散らばっているので以前ファイル転送のコマンドを作ったのですが、1つのファイルしか転送できないとか、バイナリファイルは転送できないなど使いにくいところがあったので、それらに対応してみました。本当は…

Ruby で簡単なレイトレーシング(メモ)

Rubyでレイトレーシングした - yhara.jp 上の画像はここの ray5.rb を実行したもの。なおこれは ppm 画像ファイルのデータを出力するコードであり、 $ ruby ray5.rb > rayimg.ppmみたいに実行するとよい。ppm 形式については http://ruby.kyoto-wu.ac.jp/~ko…

μSchemeR の Ruby による実装を読む(その4 - 再帰、純粋関数型言語の完成)

まずは if文を実装しましょう。書き方はこんな感じ。 [:if, [:>, 3, 2], 1, 0] まずは従来のメソッドを書き直します。(あとで :letrec も実装するので、それも書き加えています。) def special_form?(exp) lambda?(exp) or let?(exp) or letrec?(exp) or i…

Ruby/GTK+ でちょっと考えた

以前に Ruby の GUI で、ここの Ruby/Tk でやろうとしていることを Green Shoesでやろうとしてみた。 obelisk.hatenablog.com でもそれは元記事の意図とはちがっていて、「ボタンを押した時に、多重入れ子構造で内側に配置したウィジェットから外側に定義し…