わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

Ruby

Rubyで6÷2(1+2)

6÷2(1+2)は,9か1か… Rubyで計算させることにしました.

漢字チェッカー

ボートで、かけ算でリンクした文章ですが,小学生でも読めることを念頭に置いて書きながらも,漢字のチェックはきちんとしていませんでした. Windowsでチェックするなら,漢字チェッカー(何年生で習う?)の詳細情報 : Vector ソフトを探す!が有用そうで,Wi…

過去ログからエントリURLを生成

昨日の(ひとつめの)エントリを書くにあたって,見出しの中に「質問」を含むエントリをチェックしておきたいなと思いました. しかし,日記上部の検索フォームを使うのでは,見出し以外に「質問」を含むものが多数,ヒットしてしまいます.日記のテキストフ…

割り算の筆算

『遠山啓エッセンス〈6〉中学・高校の数学教育』を読んでいます.年末までに第1〜5巻を読み終えていて,年が明けてから先に第7巻を通読し,第6巻がシリーズ最終となります. この序盤(p.15)に,面白い記述を見つけました.

「Rubyリファレンスマニュアル刷新計画」スナップショットをシェルとブラウザからアクセスしやすくする

[ruby-list:47735] 「Rubyリファレンスマニュアル刷新計画」2010-12分のスナップショットリリース 毎月1回のアナウンスですね.昨夜届きました.現時点では先頭のリンクは無効で(たぶんまだファイルが登録されていないのでしょう), $ wget http://doc.o…

熟達者の書くコード

def sphere(s) image = make2d(s,s) for y in 0..(s-1) for x in 0..(s-1) image[y][x] = b(s,x,y) end end image end def sphere(s) Array.new(s) { |y| Array.new(s) { |x| b(s,x,y) } } end 本科目で用いるプログラムの例(上).2次元配列を作る関数make…

Slad: 1日1行カレンダー

1日1行カレンダーの機能強化版を作りました.

nilガードをthe final draft Ruby Specificationで調査

きっかけは,Webではなくメールでした.「[ruby-dev:42280] Ruby言語仕様書最終原案」と題するメールが届きました.本文は,ぐぐっても出ますが,http://blade.nagaokaut.ac.jp/ruby/ruby-dev/index.shtmlから番号を指定するのが,今後も使えて便利かと思…

Rubyでの実装に基づく研究成果

思うことあって,これまでの自分の研究成果のうち,Rubyでプログラムを組んだのがどれくらいあるか,調べてみました.

Re: nilガード

「a ||= 5」は「a = a || 5」ではなく「a || (a = 5)」*1であることの根拠,あるいはそういう取り決めがいつなされたのかについて,Rubyのソースや英語の文法書(Web上の情報を含む)で探したものの,見つかりませんでした. 手元の本を何冊か,読み直してみ…

nilガード

Rubyにおいて,「||=」演算子を使うことの意義は分かるし,自分でもよく使うのですが… 他人のコードを見たRuby初心者の多くは,この風変わりなイディオムに困惑する. a ||= [] これは,aの値が空の配列になるかもしれないという意味だ.||=は以下を省略した…

svnとgitの基本コマンドをTest::Unitで書いてみた

ここ最近,SubversionからGitへの移行を考えています.TortoiseGitは,すでに複数のWindows PCに入れました.研究室の学生に使わせるかどうかは,分かりません.むしろ,後期の演習科目で,「svnかgitを使ってファイルを管理すること」を要請しようと考えて…

英語化について

英語版を作って,今後どうメンテナンスしていくか,迷いましたが,今回は,htmlファイルとjsファイルは日本語版とし,その中の日本語メッセージを英語にするためのRubyスクリプトを書くことで,実現しました. 英訳に関してですが,「発表」はTalkまたはTalk…

PostgreSQL + ActiveRecordで,属性名に悩む

シェルから,psql abc xyzというコマンドで,データベースabcに,ユーザxyzとして接続するとします.そして,「select user;」と「select usr;」を問い合わせると,結果は次のようになります. xyz=> select user; current_user -------------- xyz (1 行) x…

Re: 関数の呼び出し回数

「課題のプログラムを実行するときに,fib(40)は何回呼び出しますか? fib(39)は何回呼び出しますか? …というように,引数ごとにfibの呼び出し回数を分けると,どうなるでしょうね?」 (略) 「さっき言った,fibの各引数を何回呼び出すかってのを,fibに与える…

誕生日のパラドックス検算用のワンライナー

誕生日のパラドックス(たんじょうびのパラドックス)とは「何人集まればその中に同じ誕生日の人がいる確率が 50%を超えるか?」という問題から生じるパラドックスである。普通に考えれば365日の半分、だいたい180人前後と考えるが、答えは23人である。直感…

ワンライナーでポイント制度の支払額計算

さて、ポイント制度で20%の還元を受けるのと、現金で15%引きとなるのでは、どちらがより得だろうか。 ポイント分の精算にはポイントがつかないというのが要点だ。別表に1万円の商品を3回購入したときの試算を示した。最初の購入で2000円分のポイント還元が…

Rubyプログラミングの手順〜アタマノタイソウ問題を例に

アタマノタイソウ問題を解く - わさっきのプログラムを作るのにとった手順を,書いてみます.

アタマノタイソウ問題を解く

昨日のエントリで書いた,8パズルでの「アタマノタイソウ」問題,解くプログラムをRubyで書いてみました.

最後の一人クイズ

児童100人がキャンプに行った.夕食の時間になったが,食事をする場所が狭く100人が一緒に食事できない.そこで,この100人を1列に並べ,先頭から数えて10人目ごとに児童を選び,食事をさせることにした.最後まで食事にありつけない児童は元の列の何番目に…

2重ループ養成CUI・nlmateをリリース

昨日,「nlmate」というRubyスクリプトを,http://github.com/takehiko/nlmateにて公開しました. あらかじめ必要なのは,このスクリプトファイルのほか,rubyとccのコマンドです.ruby nlmateを実行すると,はじめに以下の表示が出てきます*1. [Tutorial] …

Ruby 1.9で日本語を含むメールを送る

半月ほど前の話です.毎週木曜日の演習科目で,1回だけ,それまでの課題の解答をTAと私とでレビューして,学生ごとにメールを送りました. 2年前にも実施していました*1.レビュー結果のExcelファイルをCSV形式で保存して,集計用のRubyスクリプトと,メール…

ぷよぷよ2連鎖171種類!

「2連鎖」の状態を100種類以上,書いてください. (略) 最初(1連鎖目)はちょうど4個消え,2連鎖目もちょうど4個消えます. 消える4個+4個以外のぷよ(おじゃまぷよを含む)は使用しません. フィールドは6列です(7列を使う連鎖は,認めません). 鏡像は…

楽天APIで書籍検索

ISBNだけが知っている状態で,そこから書籍情報を機械的に取得したいのですが,ほんのちょびっとだけ調べていると,楽天APIの存在を知りました. 楽天ウェブサービス: 楽天ブックス書籍検索API(version:2017-04-04) | API一覧 楽天には,ギフト購入や,旅行…

全国学力テストの新聞各記事から「位」を見比べる

昨日,今年の全国学力テストの結果が公表され,新聞各紙も記事にしています. よく知られているように,これは順位付け(序列化)を行うべきものではありませんが,最初に見かけた記事で,順位を細かく書いていたこともあって,「位」という字の使い方で,新…

Rubyスクリプトの読み方

何らかの事情で,Rubyスクリプトを読んで理解しないといけなくなった人のためのメモです.目標はカバー率70%. オブジェクト指向 クラスの中の「@名前」はインスタンス変数(Javaのフィールドに相当),「名前()」はメソッド.あまり出てこないけど「@@名前…

ワンライナーで字数順ソート

ある事情で,テキストデータを 字数に関して昇順 同じ字数ならコード順(lexicographic order) でソートすることにしました. Ruby 1.9を使えば,字数を求めるのは簡単です. じゃあプログラムは書かなくて,ワンライナーでできるでしょうと思ったら,予想以…

漢字とカタカナの使用回数

1000日分の日記のXMLファイルを使って,自分でどんな語句を使用してきたか,分布を求めてみました. 形態素解析ではなく,もっと簡単に,1文字単位で見ていって,「2文字以上の漢字,カタカナの並び」を単語として,集計し,漢字・カタカナで別々に上位から…

rubyとgemをバージョンアップ

BigDecimal の DoS 脆弱性というのが出ていたので,あるLinux PCのRubyをバージョンアップしました. ついでに,RubyGemsのライブラリも最新のにしようと,gem updateを実行したら,エラーになりました.gem --versionもダメです. 安定版(1.8系列)につい…

レーベンシュタイン距離と文字列の変化を求める

しょうもないアイデアがひらめいたのですが,それを実現するために,Rubyでレーベンシュタイン距離と,その距離であることが確認できる,文字列変化の系列を求めるコードを書いてみました. 参考にしたものは以下のとおり. Wikipedia:レーベンシュタイン距…