集中力なら売り切れたよ

プログラミングや、将棋などについて書きます。

Ruby

0から15までの数値を16進数、2進数で表示するプログラム

Rubyで書くと標準のprintfの指定方法に2進数が備わっているので簡単です。 (0..15).each do |i| printf("0x%02x = %04b\n", i, i) end C#ではConsole.WriteLineの書式では16進数は可能ですが、2進数には変換できないのでConvertクラスを利用して一旦変換して…

RubyとC#のLINQとの比較、3の倍数を抜き出すプログラム

3の倍数と3のつく数字のときオモロー!というプログラム(FizzBuzz問題系)Rubyで書くと非常に楽です(自分が慣れているからでもありますが)。 # coding: cp932 result = (1..40).select do |i| i % 3 == 0 || i.to_s.include?("3") end for i in result pu…

Rubyでnilだったら代入するイディオム

他の言語ではあまり見かけませんが、左辺がnilだったら代入し、nilでなければ代入しない式として以下のものがよく使われているようです。 a ||= "abc" # つまりこういうこと? a = a || "abc" # ifを使うならこうなる? a = "abc" if a.nil? 個人的には暗号…

Rubyで開発するときは冗長モードを有効にするほうがよい

コマンドラインでの実行時に-wオプションをつけるとコンパイル時、実行時の警告を出してくれる。具体的には使っていないローカル変数などがあれば警告してくれる。デフォルトでは警告は出ない。いちいち指定するのが面倒な場合はRUBYOPT環境変数に-wをセット…

RubyやPythonのバージョン情報を確認する方法

Rubyでは--version、Pythonでは-Vオプションをつけて実行します。JRubyやIronPythonでも基本的に同じです。コマンドプロンプトでの実行例です。 Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\U…

IronPython、JRubyをインストールして使ってみました

C言語で実装されたPython、Rubyに比べるとやはり起動が遅いです。しかし、以前動かなかった*1、require "open-uri"が問題なく動きました。.NET FrameworkやJavaとの連携もできて便利そうなのでIronPythonとJRubyをメインに使っていこうかと思います。CRubyだ…

Rubyでrequire "open-uri"を使おうとするとエラーが出ます

Rubyバージョン2.1でrequire "open-uri"を使おうとしたところ、以下の様なダイアログと、エラーメッセージが出ました。解決策はわかりませんでした。追記:Release - Ruby-mswin32 (ja)から古いバージョンを使ってみたら問題なく実行できました。1.9系列で20…