2017-12-01から1ヶ月間の記事一覧

Ruby でファイル転送のコマンドを作る

ローカルネットワーク内に何台か PC があるので、Ruby でファイル転送を行うことを考えました。SSH でやってもよいのですが、一台の PC に Linux をマルチブートしているので、面倒なので Ruby でやります。セキュリティは何も考えていないので、当り前です…

7セグメントコードの反転(Ruby)

デジタル表示で 0~9 の数字を表示させることを考えます。数字はディスプレイの 7つの場所の on, off で表示することになります。このとき、二つの数字を連続して表示するとして、7つの場所の on, off の切り替わりが出来るだけ少なくなるような順番を考えま…

Ruby のブロックはクロージャである

Ruby の Proc(あるいは lambda) がクロージャであることは周知ですよね。クロージャの例は JavaScript の関数で、他にもクロージャをサポートしている言語はいまやふつうです。クロージャは、中の変数の値を保持します。例えば Ruby で x = 0 f = proc {x …

はてなブログの記事タイトルにはてなブックマークの「users」を表示させる

はてなブログは設定ではてなブックマークの被リンク数を表示させることができますよね。 こういうやつです。しかしながら、昔からある「○○users」という表示を、タイトルに付けることも(やろうと思えば)できます。まあこのブログはめったにブクマされない…

スプライン曲線を描く(Ruby)

複数の点をなめらかにつなぐ「スプライン曲線」を描いてみました。全体的に下のサイトを参考にしました(ありがとうございます!) Ruby - 3次スプライン補間! - mk-mode BLOG gnuplot で出力してみるとこんな感じです。 spline_curve.rb require 'numo/gn…

コンソールでライフゲーム(Ruby)

Ruby の Gem でコンソールをウィンドウのように使える 'curses' というのがあります。これを使ってみたくて、ライフゲームを書いてみました。Linux Mint 18.2, Ruby 2.3.3 で確認しています。(追記:Window 8.1, Ruby 2.2.2 [i386-mingw32] でも確認しまし…

2枚のカードの間には?(Ruby)

前回のエントリの問題を教えられたサイトに、さらに次のような問題がありました。 1から7の数字を書いたカードが2枚ずつ計14枚ある。そしてこれを1列に並べ,2枚の1の間にはカードが1枚,2枚の2の間にはカードが2枚はさまれていて,同様に,3の間には3枚,4の…

2つのバケツ問題(Ruby)

反復深化/アルゴリズム講座 おもしろそうな問題を見つけました。 8リットルと5リットルのふたつのバケツを使って1リットルの水を最短手順で川からくみあげて下さい。 http://www.ic-net.or.jp/home/takaken/pz/index3.html Ruby で解いてみました。それぞれ…

飛車と角の利き(Ruby)

問題: 飛車と角を将棋盤(9×9)の上にひとつづつおきます。このとき、飛車か角によって(相手の)駒が取られる位置を、飛車と角の「利き」ということにします。 飛車の「利き」の上に角があるとき、その先の飛車の「利き」は(角にさえぎられて)ありません…