2009-07-01から1ヶ月間の記事一覧

リスト文字列を1文字ずつパース 再帰じゃないよ編

再帰によるパースは大きいテキストでこけるので再帰しないバージョン。 Imports System Imports System.Collections.Generic ' Ruby の Fixnum っぽいクラス Public Class Fixnum Private num_ As Integer Public Sub New(ByVal n As Integer) Me.num_ = n E…

DateTime を使う。

d.Date.ToString のように文字列に変換して切り出せばどうにでも。 Module Module1 Sub Main() Dim d As DateTime d = DateTime.Now System.Console.WriteLine(d.Date) '=> 2009/07/28 0:00:00 System.Console.WriteLine(d.Date.GetType) '=> System.DateTim…

TextBox に文字列を追加する。

TextBox の文字列を改行コードを境に分割し、リストに収納。 文字列をリストに追加したのち、改行コードを加え、TextBoxへコピー。 Public Class MemoControl Private ListObj As List(Of String) Public Sub New() Me.ListObj = New List(Of String) End Su…

'HttpUtility' は 'Web' のメンバではありません。

URLをエンコードするのに System.Web.HttpUtility.UrlEncode を使おうとすると「'HttpUtility' は 'Web' のメンバではありません。」のエラー。 Dim client As New WebClient client.QueryString("db") = "dbname" client.QueryString("tp") = "typeName" cl…

リスト文字列を1文字ずつパース VB編

Ruby で書いた「リスト文字列を1文字ずつパース」をVBで書きました。 これは実際に仕事に使おうと思うのだけれども、本物のリストでやった方がこの先面白そうです。 Imports System Imports System.Collections.Generic Public Class ListString Private str…

WebClient で Basic 認証サイトにアクセス

Imports System Imports System.Text Imports System.Net ' http://www.atmarkit.co.jp/fdotnet/dotnettips/799base64/base64.html Public Class Base64String Private enc As Encoding Public Sub New(ByVal encStr As String) enc = Encoding.GetEncoding(…

XML 設定ファイルを読み込んで Dictionary に設定する。

Visual Basic の Dictionary は Hash のようなものです。Smalltalk に Dictionary というのがりますので Smalltalk 由来かも知れません。 XML ファイル <configure> <item> <key>hoge</key> <value>http://www.example.com</value> </item> <item> <key>Googel</key> <value>http://www.google.com</value> </item> </configure> Imports System Imports System.…

リスト文字列を1文字ずつパース

深さを自由に表現できるリストをパースする まず、どのような動作をすれば良いか書いてみる。 str=%([["A",["B"]],["C","1"]]) 希望する結果 リストをスタックに保存 そのための 結果 しながら管理する様子 命令 [] s0[] s[0]=[] [[]] [[]] s0[] s1[] s[1]=[…

VB で 関数プログラミングっぽいことをする。

VB で 関数プログラミングっぽいことをするのに便利なように Head や Tail をくっつけてみました。 Imports System Imports System.Collections.Generic Public Class ListObject Private Lstr As New List(Of Object) Sub New() Me.Lstr = New List(Of Obje…

オブジェクトの型を調べる

Module Module1 Sub Main() System.Console.WriteLine((123).GetType) ' => System.Int32 System.Console.WriteLine((123.456).GetType) ' => System.Double System.Console.WriteLine((123).ToString.GetType) ' => System.String System.Console.WriteLine…

クラスを作ってみる

Public Class ListString Private str As String = "" Sub New(ByVal Name As String) Me.str = Name End Sub Public Property Name() As String Get Return str End Get Set(ByVal value As String) str = value End Set End Property Public Function Head…

文字列を1文字ずつパースして配列の配列を作る

VB は分からないので今度はRubyで。 class String def head; self[0].chr end def tail; self[1...(self.length)] end end class Array def head; self[0] end def tail; self[1...(self.length)] end end str=%([["3014","Null","0-16-087"],["1999","10","…

文字列を1文字ずつパースしてリストのリストを作りたい

str="[ [\"3014\",\"Null\",\"0-16-087\"], [\"1999\",\"10\",\"0-06-074\"] ]" addItem :: a -> [[a]] -> [[a]] addItem item ls = (init ls)++(((last ls)++item:[]):[]) eval :: [Char] -> [[[Char]]] -> [Char] -> Bool -> [[[Char]]] eval [] out _ _ =…

VBScript の Eval を使う

ScriptControlによるeval(AccessにあってVBに無いもの)より。 Module Module1 Function VBSEval(ByVal vbsExp As String) Dim sc As Object sc = CreateObject("ScriptControl") sc.Language = "VBScript" VBSEval = sc.Eval(vbsExp) sc = Nothing End Func…

yum update のエラー

以下のようなエラーが出るので 「File "/usr/bin/yum", line 29, in ?」で検索したところ、[FC4]Yumでエラーが出た場合の対応がヒット。 「sudo yum clean all」を実行したところでなくなった。なんだこれ? Traceback (most recent call last): File "/usr/…

F# をちょっと動かしてみた。

F#

対話モード。 > fsi Microsoft F# Interactive, (c) Microsoft Corporation, All Rights Reserved F# Version 1.9.6.2, compiling for .NET Framework Version v2.0.50727 Please send bug reports to fsbugs@microsoft.com For help type #help;; > 1;; val…

PhotoShare の一覧を作る

iPhone の写真共有SNSであるPhotoShare を始めてから明日で1年になります。 メッセージの交換目的というより、簡単な記録、メモとして始めたのですが、古い写真にアクセスするのが簡単でありません。 そこで、Webにインデックスを作成しようと思い、HTMLタ…

Lisp のリストを表示する関数

Lisp のリストを表示する関数を作ってみた。 data Symbol = I Integer | S String | Nil | C Cell deriving (Show, Read, Eq) data Cell = Cell { car_ :: Symbol, cdr_ :: Symbol} deriving (Show, Read, Eq) cons a b = C Cell { car_ = a, cdr_ = b } car…

Lisp のセルみたいなものを定義してみる。

Cell は Symbol型の car と cdr の値を持つ。Symbol型は Int または String、Nil、そして、Cell 型である。 data Symbol = I Int | S String | Nil | C Cell deriving (Show, Read, Eq) data Cell = Cell { car :: Symbol, cdr :: Symbol} deriving (Show, R…

モンティ・ホール問題(2)

ドアの選び方であなたの賢さが分かる!?——モンティ・ホール問題とは あなたはテレビ番組で商品当てゲームに挑戦しています。あなたの前には3枚のドア があり、1枚のドアの先にはあなたが欲しい物が置いてあり(アタリ)、残る2枚のド アの先には何も置いてあ…

モンティ・ホール問題

ドアの選び方であなたの賢さが分かる!?——モンティ・ホール問題とはすっきりしないのでシミュレーションしてみました。 ゲームのルール 1. 3つのドア (A, B, C) に(景品、ヤギ、ヤギ)がランダムに入っている。 2. プレイヤーはドアを1つ選ぶ。 3. プレイヤ…