キーボードにWindowsキーがないとき

[Ctrl] + [Esc] で代用します。 ※ただし[Windows] + X は不可

文字コードの欠点

Web

Shift_JISの欠点・・・だめな文字(だめ文字)がある EUC-JPの欠点・・・日本語以外はあまり表示できない UTF-8の欠点・・・日本語が3バイト詳細はWEBで。

ニコ動でRubyの動画を探す方法

キーワード「Rubyist」または「RubyKaigi」で検索する タグ「ruby」で検索する

RubyでWindowsアプリ その0 環境構築 / その1 簡易カウンタ

今回は、RubyでWindows用GUIアプリケーションを作成します。Rubyのホームは黒い画面(Windowsでいうコマンドプロンプト)だと思うのですが、最近はRails用言語だという説もありますね。たしかに我々一般人はグラフィカルな環境で生きていますが・・・黒い画…

テキストファイルの内容をソートするプログラム その5 「例外処理」

ファイル操作は、例外が発生しやすい処理です。パスが1文字間違っていたためにファイルが見つからない、他のプログラムで使用していたためアクセスできないなど、些細なことが大きな問題となってしまいます。 そのため、このプログラムでも例外処理を行うこ…

テキストファイルの内容をソートするプログラム その4 「パターンマッチと負の添字」

■変更点 読み込めるファイルを.txtと.csvに限定 文字列判定に比較演算子(=~)を使用 file_path = ARGV[0] search_str = ARGV[1] if /^(txt|csv)$/i !~ file_path.split(".").[](-1) puts "扱えないファイルです。" exit endtemp_lines = [] File.open(file_…

テキストファイルの内容をソートするプログラム その3 「コマンドライン引数と式展開」

■変更点 検索用正規表現文字列を外部から受け取る 可読性と保守性を高めるため、ファイルを扱う部分の記述を変更 open(組み込み関数)⇒File.open(クラスメソッド) File.openメソッドの呼び出しにブロック引数を使用(Fileオブジェクトの有効範囲がブロッ…

テキストファイルの内容をソートするプログラム その2

その2では、検索機能を付けてみたいと思います。やり方は、ファイルに書き込んでいる部分を、if文で囲むだけです。 temp_lines.each do |line| if line.match(/irb/) write_file.puts line end endここでは、"irb"という文字列が含まれている行のみを書き込…

テキストファイルの内容をソートするプログラム その1

その1なので例外処理も何もしていませんが、CSV形式の並び替えには十分使えます。 file_path = ARGV[0]read_file = open(file_path) write_file = open("result_" + file_path, "w")temp_lines = [] read_file.each do |line| temp_lines endtemp_lines.sor…

リンクやボタンにフォーカスを設定する方法

フォーカスとは: Tabキーで動かしてEnterキーで実行するアレです。 <head> <script type="text/javascript"> <!-- function onFocus(id){ document.getElementById(id).focus(); } //--> </script> </head> <body onload="onFocus('ubunchu')"> <a id="ubunchu" href="http://www.aerialline.com/comics/ubunchu/">うぶんちゅ!</a> </body>

フォーム送信時に確認ダイアログを表示する方法

Webページで重要な操作を行う際、メッセージボックスを表示させてワンクッション置きたい場合がありますが、JavaScriptを使えば容易に実装できます。 処理の流れ イベント発生時、確認ダイアログが表示される。 確認ダイアログへの対応 OKボタン押下: 処理…

書籍「初めてのRuby」 はじめに

「初めてのRuby」を購入して読み始める。「プログラミング言語Ruby」と迷ったが、読みやすさを重視して選択。冗長な部分を削って早く読めるようにというのは本ブログの思想である。以下、「はじめに」の要約。 プログラミングの際、私は使用している言語の世…

セレクトボックス変更時にフォームを送信する方法

Webページからサーバーにフォーム送信する場合、通常はinputタグのtype属性を"submit"に設定したボタンを使用します。しかし、ユーザーの利便性を考え、セレクトボックスを変更するだけでフォームを送信するという動きが求められる場合があります。そのよう…

Excel2007でボタン形状のフォームコントロールを使う方法

ここから▽徐行▽。※お急ぎの方はこちらへ→http://www.winmate.co.jp/blog/index.php?ID=55全国のExcel2007ファンのみなさん、こんにちは。今日もグラフィカルでビューティフルなExcelライフを楽しみましょう。さて、今回は、シートにボタンを貼り付ける方法を…

正規表現による置換

正規表現を使うことで、複数の文字列を同時に検索・置換することができます。大抵のテキストエディタやIDEは正規表現に対応しています。 具体例 検索(置換前)置換後 行頭に#を付ける^# 行末が"なのだ"の場合、"です。"に変換するなのだ$です。 "世紀"と"正…

相対パス「私は1点、ひとつ上は2点」

相対パスとは、起点となる位置(例:クライアントアプリケーション→実行ファイル、Webアプリケーション→ルートディレクトリ)から見たフォルダおよびファイル位置の表現方法です。主に、「.」「..」「/または\」「フォルダ名」「ファイル名」の5つの構成要…

テキストボックス×JavaScriptによる入力チェック【基本編】

JavaScriptを使い、入力された値をチェックする方法です。 onChangeイベントで、テキストボックスそのものを引数としてJavaScriptの関数に渡しています。 パンはパンでもだらしないパンは? <input type="text" onChange="inputCheck(this)" /> <script type="text/javascript"> <!-- function inputCheck(input){ if( input.value == ××× ){ w</script>…

セレクトボックスで等幅フォントを使う

Web

HTMLには <tt> というタグがあり、このタグで囲んだ文字列は等幅フォントになります。 しかし、セレクトボックスの文字をタグで囲んでも等幅フォントにはなってくれません。 この場合、スタイルシートfont-family: monospaceをselectタグに適用することで、等幅</tt>…

Firefox3.6 & Live HTTP Headers 導入

メインで使うWebブラウザとして、Firefoxを導入しました。いままで使ってたSleipnirが自宅の環境ではちょっと不安定なので、泣く泣く…。バージョンは、Live HTTP Headersが2月9日の更新で対応したので、最新版の3.6。初日に入れたアドオンは次の3つ。 FireG…

Problem001 - 剰余の記号は%

第001問。 10未満の自然数のうち、3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり、これらの合計は 23 になる。 同じようにして、1,000 未満の 3 か 5 の倍数になっている数字の合計を求めよ。 Problem 1 - PukiWiki 1問目は、2問目以降に…

Project Euler 再開

Project Euler(プロジェクト オイラー)とは、数学の問題をプログラミングで解くという趣旨のサイトです。両方学べてオトク。 本家http://projecteuler.net/翻訳http://odz.sakura.ne.jp/projecteuler/ 前回はC言語の整数型の壁を攻略できずに挫折してしま…

空白文字チェック用正規表現

/[^\s ]/日本語訳: 空白系文字(\s)と全角スペース( )以外(^)の文字が含まれている。 解説 ・\sは空白文字の略記法で、半角スペース・タブ・改行文字を含んでいます。 ・\sの後ろの空白は全角スペースです。 ・全角スペースは漢字と同じ扱いなので、\sには含…

セレクトボックス×JavaScriptによるテーブルの検索

処理の流れ 1.検索元データは全てHTMLに保持する 2.セレクトボックスにイベントを作成し、関数を呼び出す 3.関数内の処理 3-1.セレクトボックスの値を取得 3-2.テーブル情報を取得 3-3.テーブルの行数分forループを回す 3-4.forループ内の処理 3-4-1.セレク…

loopやTCPServerに時間制限をかける

「timeout」を要求し、 timeout(秒数) { loop { } #何もしない無限ループ }のように書くと、指定した秒数が経過した後、例外(TimeoutError)が発生します。 具体的には、次のように使用します。 require "timeout" #10秒間、クライアントを待つサーバープロ…