2016-10-01から1ヶ月間の記事一覧

いわゆる「ビュフォンの針」の同心円バージョンについて

いつも拝読している「完全無欠で荒唐無稽な夢」というブログがあるのですが、そのコメント欄にこんなことが書いてありました。 こんにちは ^^ またお願いなんですが…^^; ビュフォンの針:平行線の間隔の半分の長さの針が平行線と交わる確率が1/πというもので…

Ruby の「ふしぎに気まぐれな構文」と言われるものについて

Tiny Prolog in Ruby (Extra Lesson)空白に注意してコードを読んでみて下さい。 irb(main):001:0> def a; 1; end => :a irb(main):002:0> b = 2; c = 3 => 3 irb(main):003:0> a +b +c ArgumentError: wrong number of arguments (1 for 0) from (irb):1:in …

Shift_JIS のファイルを読み込んで UTF-8 で処理(Ruby)

Linux ではエンコーディングはふつう UTF-8 を使いますが、Windows は Shift_JIS なので、Windows 用に Shift_JIS で作成したファイルを、Linux の Ruby でふつうに UTF-8 で処理する。例。 text = File.open("hoge.txt", "r:Shift_JIS") {|io| io.read.enco…

cairo と Ruby で遊んでみる(2)

水平投射です。 require 'bundler/setup' require 'cairo' require './gifanime' include Math W = 600; H = 300 V0 = 10.0; A = 0.75; G = 5.0 v = lambda {|n| - A ** n * sqrt(2 * G * H)} t = lambda do |n| if n.zero? sqrt(2 * H / G) else ar = [1] n…

Swift でたらい回し関数

以前 Ruby と Python と C でいわゆる「たらい回し関数」のベンチマークをやってみましたが(参照)、Swift 3.0 でもやってみました。コードは以下。無様ですがお許しを。 import Glibc func tak(_ x: Int,_ y: Int,_ z: Int) -> Int { if x <= y { return y…

Swift によるオブジェクト指向ジャンケン・プログラム

なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング作者: 小森裕介,アクロクエストテクノロジー株式会社出版社/メーカー: 技術評論社発売日: 2004/12/01メディア: 単行本購入: 10人 クリック: 217回この商品を含む…

Linux Mint(Ubuntu)で Swift を使ってみる(その2)

swift.orgLinux でも Swift が使えるようになったので、まずは Docker を使って Linux Mint 17.2 に導入してみたのですが(参照)、Docker なんぞを使うと却って面倒なので、お手軽にやってみました。上の公式サイトに書いてあるとおりにやっただけです。正…

nil による NoMethodError を回避する(Ruby)

Ruby のメソッドで例外に nil を返すものは多く、NoMethodError が出て処理が止まることがあります。面倒なので回避するメソッド Object#nil_trans を書きました。self が nil 以外のときは self をそのまま返し、nil のときは引数(デフォルトは空文字列)…