Ruby

8つの言語でテキストフィルタを書き比べた

※2015/11/15追記:現段階では8言語から12言語に増えている。その昔 id:eel3:20120129:1327845759 なんてことをやったのだが、性懲りもなくまた同じようなことをやってみた。作ったものはこちらに置いてある。 GitHub - eel3/hcasl: Command line tool for "h…

英辞郎の辞書ファイル(テキスト形式)をPDIC 1行テキスト形式に変換する

英辞郎のテキスト形式の辞書ファイルが入手できなくなったと聞いて、あわてて『英辞郎 第八版(辞書データVer.141/2014年8月8日版)』を入手した。付属する辞書はVer.1.41。以前購入したのがVer.1.02(2007年03月ごろ)なので、8年半ぶりだ。私の英辞郎の使い…

8つの言語で1つのツール(2つのコンソールアプリの出力を加工する類のツール)を書き比べた

id:eel3:20120116:1326675419 で書いたように、funclenというC言語用の行数計測ツールを使っている。単純にソースファイル中に定義されている関数名を列挙するだけにも使えるが、ある条件の時に誤った関数名を出力してしまう。なのでExuberant ctagsとgawkを…

そろそろ剰余を使わないFizzBuzzについて一言(ry 時代遅れひとりFizzBuzz祭り 剰余無し編

FizzBuzzというニッチな市場*1において更にニッチな「剰余を使わない」分野ではあるものの、どうも需要があるようなので*2書いておく。ひとまず既存ネタから幾つか再録して解説する。それから新作を出そうと思う。 既存ネタ:「事前に答えを用意しておく」ア…

gcovの要約情報から欲しいものだけ抜き出す

過去に何度か書いているが、普段からgccとgcovをよく使っている。基本的にCプログラマなので仕事でCで書くことが多く、書いたソースのコンパイルチェックや単体テストにMinGWを使っているのだ。gcovを使うと未実行のパスが可視化されて便利なので、使ってい…

Notepad++のXMLファイルをソートして整形して出力する:2発目

id:eel3:20110225:1298647360 に載せたコードは個人的に「これはいかがなものか」と問い質したくなる代物だったので、全面的に書き直してみることにした。前回の反省を踏まえて、こんな方針で攻めてみた。 設定XMLファイルをテキストファイルとして扱わず、…

Notepad++のXMLファイルをソートして整形して出力する:1発目

Notepad++には関数補完とコールチップ機能*1があって、その実現にXMLで書かれた設定ファイルを使用している。例えばC言語用のXMLはこんな感じ。 <NotepadPlus> <AutoComplete language="C"> <Environment ignoreCase="no" startFunc="(" stopFunc=")" paramSeparator="," terminal=";" /> <KeyWord name="#define" /> </keyword></environment></autocomplete></notepadplus>

引数の参照渡し(変数渡し)なのか単なるオブジェクトへの参照なのか、それが問題

プログラミングの勉強をしていると、異なる話題なのに似たような名前が付けられていて混乱することがある。例えば変数における「参照型」と関数/プロシージャ/サブルーチン/メソッド等々の引数における「参照渡し」は異なる概念なのだが、どちらも「参照…

某社のプログラミング問題の解答例を肴にMatz ruby 1.9の速さを体感してみた

id:eel3:20100502:1272798528 にて、似たようなアルゴリズムのプログラムでruby 1.8.7とC言語*1で実行速度を比べるという意味のない行為*2に手を染めた私。その時「ruby 1.9.xならもう少し高速化されるかも」と書いた訳だが、この度Ruby-mswin32の1.9.2のバ…

改行のみのテキストファイルを作る

空の行(改行のみの行)が数十行あるだけのテキストファイルが急に欲しくなったので、Rubyで作ってみた。 ruby -e '30.times { print "\n" }' > test3.txt 見た目通り、何の捻りもない。後でこんな書き方もあることに気づいた。 ruby -e 'print "\n" * 30' >…

某社のプログラミング問題の解答例をC言語化して実行速度を比べてみた

id:eel3:20100502:1272780085 や id:eel3:20100502:1272783601 で書いたRubyによる解答例を実行すると、手元の環境では3〜4分程度かかる。 PC DELL Latitude D630 CPU Intel(R) Core(TM)2 Duo T7250 @ 2.00GHz Memory DDR2 (PC2-6400) 2048MB*2 (Dual Channe…

某社のプログラミング問題の解答例にコメントを付けてみた

id:eel3:20100502:1272780085 のコードにコメントを付けただけ。あと変数名を少しだけ変えてある*1。 #!/usr/bin/ruby -w # #= Poderosaを開発している某社の入社試験。迷路の最短経路を求める。 # #author:: eel3 @ TRASH BOX #date:: 2010/05/02 # #== 関…

Poderosaで有名な某社の入社試験で出たプログラミング問題を今更解いてみた

元ネタはこれ。 人材獲得作戦・3: 人生を書き換える者すらいた。 人材獲得作戦・4 試験問題ほか: 人生を書き換える者すらいた。 3ヶ月以上前の話題なので今更すぎるのだけど、2〜3日前に知ったばかりなのでしょうがない*1。迷路の最短経路を求める問題。迷…

時代遅れひとりFizzBuzz祭り Ruby編

時代遅れひとりFizzBuzz祭り、今回はRuby。前回がPerlだったので、Perlの影響も大きく受けているRubyにしてみた。Rubyはテキスト処理系統のツールを自作する時によく使う。以前はgawkを使っていたけど、やはりgawkは独特な所があって、本格的なツールを作る…

テキストファイルをソートする

テキストファイルをソートしたくなった時、どうすればよいのだろうか?最近vimのC/C++用辞書ファイルを昇順にソートした。辞書ファイルにはC/C++のキーワードが450個ぐらい書いてある。キーワードは改行で区切られているので、1行に1単語だ。最初に思いつく…