日付や時間を表す文字列を受理するオートマトン③

どのパターンか判断できるようにしてみた。Ideone.com - vcrHk5 - Online C# Compiler & Debugging Tool

日付や時間を表す文字列を受理するオートマトン②

以下のフォーマットを受理するDFAを作った。 Ideone.com - FxXej0 - Online C# Compiler & Debugging Tool yyyy/MM/dd HH:mm:ss.fff yyyy/MM/dd HH:mm:ss yyyy/MM/dd HH:mm yyyy/MM/dd HH yyyy/MM/dd yyyy/MM yy/MM/dd HH:mm:ss.fff yy/MM/dd HH:mm:ss yy/MM…

日付や時間を表す文字列を受理するオートマトン①

日付や時間に関する型も用意して、オートマトンでチェックしたい。受理したい形式は以下。 yyyy/MM/dd HH:mm:ss.fff yyyy/MM/dd HH:mm:ss yyyy/MM/dd HH:mm yyyy/MM/dd HH HH:mm:ss.fff HH:mm:ss HH:mm mm:ss.fff mm:ss ss.fff 時刻部分はAM/PM表記も許した…

整数を表す文字列を受理するオートマトン②

以前作った整数のオートマトン、文字列"01"を受理するかどうかはさておき、"0"を受理しないのは問題だと思うので修正した。

実数を表す文字列を受理するオートマトン③

先日εNFAをNFAに変換した。 今度はこのNFAをDFAに変換したい。これをやるのが「部分集合構成法」というものらしい。以下にDFAの状態遷移表を作っていく。 NFAの初期状態はのみなので、初期状態の集合はとなる。そして、初期状態の集合から遷移する可能性のあ…

実数を表す文字列を受理するオートマトン②

自分の理解力の無さから、参考にしようとしていたサイトの説明では行き詰ってしまった。なのでオートマトンの教科書を読んでみた。 ε動作ありのNFAから、ε動作なしのNFAへの変換のやり方が書いてあったので、やってみた。 まず-(ε閉包というらしい)という…

実数を表す文字列を受理するオートマトン①

前回のつづき。「正規表現とNFA・DFA」を参考に、実数の正規表現を元に状態遷移図を描いて、C#で実装してみたい。 RとSを正規表現とすると、RSとR|SとR*を受理するオートマトン(ただし、ε遷移あり)は次のように表現できるらしい。 RS R|S R* 「整数を表す…

こんにちははてなブログ

はてなダイアリーから引っ越ししてきたよ~!

引っ越し

はてなダイアリーが終わるらしい。 2019年春「はてなダイアリー」終了のお知らせと「はてなブログ」への移行のお願い - はてなダイアリー日記 引越しせんとな。

整数を表す文字列を受理するオートマトン

正規表現は ^[-+]?[1-9][0-9]*$でいいんじゃないかな。これに相当する状態遷移図は でいいんじゃないかな。S2が受理状態。S3になったら直ちにエラーとして停止していい。これを元に作ってみたC#のクラスは interface Checker { /// <summary>このオブジェクトの状態を</summary>…

数式の結果が更新されない問題の回避方法

セルの値が正しく表示されない問題「数式の結果が更新されない - チキン煮込みチーズミックス4辛」を書いたが、回避の方法を見つけた。 数式内で、次のようにシート名まで書くと、問題は起こらないようだ。理由は不明。 =concat(Sheet1!A2:A21) やっぱり無理…

Excelで列番号を英文字に変換する方法

「Excelで列番号を英文字に変換する方法 - チキン煮込みチーズミックス4辛」は間違っていた。Excelの列を表すアルファベットは、A〜Zを使った26進数表現ではない。具体的には、次のようになっている。 桁数 列番号(0ベース*1) アルファベット*2 場合の数 1…

数式の結果が更新されない

次のような引数で指定された範囲をカンマ区切りで連結して返す関数concatを準備しといて、この関数を複数シートで使って、ブックをxlsm形式で保存した。 concatを使うセルはA1でconcatの引数はA2:A21。各シートで位置は揃えている。 Option Explicit Functio…

デシリアライズではまった

C#

次のサンプルコードのMyMapクラスのようなクラスをファイルにシリアライズしてデシリアライズすると、デシリアライズ用のコンストラクタの中で_entriesの要素が全部(null,null)になってしまう。entry.Item1とentry.Item2を使って処理をしていたので、実行時…

生きてます

昨今は某大手SIに派遣され、せっせとエビデンスのスクリーンショットを取っています。 いつか僕があこがれたエンジニアのお仕事って、こんなんだったんだね。こういうのが、日本のITを支えているんだね。

Excelで列番号を英文字に変換する方法

http://support.microsoft.com/kb/833402/ja にあるけど、これってA〜Zを使った26進数表現だよね、たぶん。A〜Zを使った26進数表現だと思ってたけど違った*1。 (念のため魚拓: http://megalodon.jp/2014-0628-2058-19/support.microsoft.com/kb/833402/ja …

Function内部でHiddenプロパティが効かない件

次のようなコードを書いていた Function hidenUnusedColumn() As Integer Dim rangeStr As String rangeStr = 【非表示にする列の範囲を求める関数を実行】 Columns(rangeStr).Hidden = True hidenUnusedColumn = 0 End Function SubじゃなくてFunctionにし…

カレントスキーマの全テーブルの全カラムを一覧するSQL

次の情報も一緒に取得。 カラムの型 主キーかどうか NOT NULL制約列かどうか SELECT A.TABLE_NAME ,A.COLUMN_NAME ,A.COLUMN_ID ,A.DATA_TYPE ,A.DATA_LENGTH ,A.DATA_PRECISION ,A.DATA_SCALE ,SQ1.CONSTRAINT_TYPE /* ,CASE NVL(SQ1.CONSTRAINT_TYPE,'') W…

図形を拡張メタファイル形式で貼り付ける

Excelで図形(テキストボックス)を多用した書類を作っていざ印刷してみると、印刷結果の図形の大きさが編集の見た目と全然違って困った。 たくさんのテキストボックスを直線でつないで関係性を表すための図だったけど、テキストボックスの大きさが変わって…

ループでEval(その1)

evalを再帰で書くとすぐStackOverflowExceptionで死んじゃうので、ループで書いてみようという試み。 単純に走査するだけのコードを前回のエントリで書いたので、それを使いつつ。 こんな感じ。 using System; using System.Collections.Generic; abstract c…

S式の要素を走査する

再帰とループの2通りの方法でS式(リスト)を走査してみる。ループの方はスタックの使い方これでいいのかよくわからんけど。 using System; using System.Collections.Generic; abstract class SExp { } class Pair : SExp { public SExp Car { get; private…

階乗計算

言語が提供するコールスタックを利用せずに再帰の要領で計算したくなった。特にオチは無い。 using System; using System.Collections.Generic; class App { static public void Main(string[] args) { const int N = 6; //////////////////////////////////…

一度に複数レコードをINSERT

仕事でOracle触ってる。テストデータとして大量のレコードをINSERTしたかったので、 INSERT ALL INTO TABLE1 (FIELD1, FIELD2, FIELD3, ...) VALUES (VALUE11, VALUE12, VALUE13, ...) INTO TABLE1 (FIELD1, FIELD2, FIELD3, ...) VALUES (VALUE21, VALUE22,…

VirtualBoxのGuestAdditions

VirtualBoxにdebian wheezyを入れたが、GuestAdditionsの入れ方忘れてたのでメモ。 sudoできるようにする suでrootになる visudoで自分を設定 次のパッケージをインストール(aptitude updateとaptitude apgradeは適宜やっておく) build-essential module-a…

メールによる画像のアップロード

スマホからは <input type="file"> でファイルをアップロードできないっぽいので、メールによるアップロードで実現する方向になりそうなので、やってみた。 メールによる方法のほかにも、FacebookとかがやってるJavaScriptによる方法もあるっぽいけど。 QdmailReceiverを使う 結…

絵文字の削除

あるサイトのPCサイトとスマホサイト作ってて、スマホで入力された絵文字を削除するという必要に迫られたのでメモ。理想は、 <input type="password"> の時みたいに、絵文字のキーボードを利用不可にして、絵文字を入力できないようにすることだけど。できないっぽい? ガラケーで使…

ページ遷移時にundefined

ちょっとつまづいたので、メモメモ。CakePHP+jQuery MobileでWebページを作成中。リンクをタップしてページ遷移したら、遷移先はまっ白い画面に undefined と表示されてしまう。一方、URL直接入力して遷移しようとすると問題なく表示される。 まぁググればい…

iPhoneのSafariのエミュレータ

iPhone向けサイトの開発を行っているならエミュレータはあった方が良いと思う。最終的な確認はiPhone実機でやるとして、開発中の細かな確認はいちいちiPhoneでやるとめんどいなー、みたいな。Mac持っているならApple謹製のエミュレータがあるらしいけど、あ…

debianにfirefoxをインストール

aptitudeとかでインストールできるパッケージに無いのは、何か大人の事情があるらしいけど、そんなことはよく分からない。できれば新しいブラウザが使いたいよなーってことで。 # cd /usr/local # wget http://ftp.jaist.ac.jp/pub/mozilla.org/firefox/rele…

異なる検索条件の結果を1つのページャーで

データベースへ照会した後、その結果を表示したいがレコード数が多い場合、ページ制御が必要になる。 CakePHPにはそのための仕組みがあるので簡単にできるけど 2通りの検索条件による検索結果を1ページに表示し、ページ移動のためのナビ(「次へ」や「前へ…