JavaScriptのシェル改良版
http://muumoo.jp/news/2008/06/21/0jssh.html
[javascript]InteractiveJS その2
http://d.hatena.ne.jp/nak2k/20050911/p1
JavaScriptのシェル改良版
http://muumoo.jp/news/2008/06/21/0jssh.html
[javascript]InteractiveJS その2
http://d.hatena.ne.jp/nak2k/20050911/p1
schemeでHello world!!
参考はこちら
http://www.shido.info/lisp/scheme4.html
| (define hello (lambda (name) (string-append "Hello " name "!"))) (hello "valvallow") |
出力結果
"Hello valvallow!"
| (cons "Hello world" '()) |
出力結果
("Hello world")
| (define sum3 (lambda (a b c) (+ a b c))) (sum3 1 2 3) |
出力結果
6
最後の関数はJavaScriptで書くとこんな感じ?
あえてグローバル空間汚すと
sum3 = function (a, b, c) { return a+b+c; };
sum3(1, 2, 3)
//出力結果 6
定義してそのまま実行して、グローバル空間汚さないんだったら
(function () { return function (a,b,c) { return a+b+c; }; })()(1,2,3)
//出力結果 6
ってか。
schemeでHello world!!
参考はこちら
http://www.shido.info/lisp/scheme4.html
schemeは関数型言語。
最近流行(?)のHaskellは純粋関数型言語らしいが、schemeはどうやら非純粋関数型言語らしい。
| (define hello "Hello world") (define sayHello (lambda () hello)) hello (sayHello) |
実行結果
"Hello world"
"Hello world"
正直まだコメントの書き方も、変数や関数の名前付けの傾向もわかりませんw
(define hello "Hello world") ⇒ defineは引数を2つ取る組み込み関数
(define sayHello ⇒ 1つ目の引数がグローバル変数の名前
(lambda () hello)) ⇒ 2つ目の引数が変数の中身
⇒ ここでは1行目で定義したhelloグローバル変数の中身を出力するようにした
hello ⇒ 1行目で定義した変数の中身が出力される
(sayHello) ⇒ 2行目で定義した関数が実行された結果が出力される
関数型言語は、「さんしょうとうかせい」と「ふくさようがない」ということで、バグの少ない良いプログラムを書くことができるらしい。
C#のラムダはこういった関数型言語から影響を受けたらしい。
Rubyは、「MatzLisp」とか「Algolの仮面をかぶったLisp」とか呼ばれてるらしいね。
らしいばかりでスマソ。
(define three-args+ (lambda (a b c . d) (list a b c d))) (three-args+ 1 2 3) ;; => (1 2 3 ()) (three-args+ 1 2 3 4 5 6 7 8 9 10) ;; => (1 2 3 (4 5 6 7 8 9 10)) (define params+ (lambda (a . p) (list a p))) (params+ 1 2 4 5) ;; => (1 (2 4 5))
(function () { return function () { return arguments; }; })()(1,2,3,4,5,6,7)それとも?
(function () { return function () { var ret = []; for (var i = 0; i < arguments.length; i++)ret.push(arguments[i]); return ret; }; })()(1,2,3,4,5,6,7)
Lispの方言(らしい)schemeをはじめました。
括弧だらけでおもしろいですw
「ハッカーと画家」の影響です。
今度、参考書として「計算機プログラムの構造と解釈」でも買おうと思う。
訳が酷すぎるという噂なので、一応立ち読んでから決める。
開発環境は「DrScheme」というIDE(?)です。
ステップ実行でデバッグでっきます。
また、日本語にも対応しています。
詳しくは以下を参照
・インストール
もうひとつの Scheme 入門
http://www.shido.info/lisp/idx_scm.html
・日本語化
scm-startup
http://www.math.kyoto-u.ac.jp/~susumu/lecture/kjsen07/ex/scm-startup/index.html
↓ちなみにこんな感じ。↓
(cons "Sum of" (cons (cons 1 (cons 2 (cons 3 (cons 4 '())))) (cons "is" (cons 10 '()))))
出力結果 ⇒ ("Sum of" (1 2 3 4) "is" 10)
そういや、こないだRubyもはじめたところですw
「初めてのRuby」読みながら♪
この本は噂どおり良書っぽいです。
毎日昼休みにやってます♪
System.Xml.Serialization
⇒ XmlSerializer
System.Runtime.Serialization.Formatters.Soap (同名のdllを参照)
⇒ SoapFormatter
C#プログラミングレッスン:XmlSerializer
http://archive.mag2.com/0000141533/20070405071000000.html?start=20
C#プログラミングレッスン:シリアル化(SOAP形式)
http://www.melma.com/backnumber_120830_3590692/
SoapFormatter クラス
http://msdn.microsoft.com/ja-jp/library/system.runtime.serialization.formatters.soap.soapformatter(VS.71).aspx
MSDN:基本的なシリアル化
http://msdn.microsoft.com/ja-jp/library/4abbf6k0(VS.80).aspx
[XML]
連載 .NETで簡単XML
http://www.atmarkit.co.jp/fdotnet/easyxml/index/
XMLテクニック集
http://www.atmarkit.co.jp/fxml/tecs/index/tech01.html
連載 SEのためのXML Schema入門(1)
簡単なXML Schemaから始めよう
http://www.atmarkit.co.jp/fxml/rensai2/schema01/schema01.html
XML & SOA
http://www.atmarkit.co.jp/fxml/
標準XML完全解説〈上〉 (単行本)
http://www.amazon.co.jp/%E6%A8%99%E6%BA%96XML%E5%AE%8C%E5%85%A8%E8%A7%A3%E8%AA%AC%E3%80%88%E4%B8%8A%E3%80%89-%E4%B8%AD%E5%B1%B1-%E5%B9%B9%E6%95%8F/dp/4774111864
[データベース]
SQLで木と階層構造のデータを扱う(1)――入れ子集合モデル
http://www.geocities.jp/mickindex/database/db_tree_ns.html
SQLで木と階層構造のデータを扱う(2)――経路列挙モデル
http://www.geocities.jp/mickindex/database/db_tree_pe.html
データベースの設計についての質問です。
顧客リストの標準的な正規化モデルというのは存在しますでしょうか?
http://q.hatena.ne.jp/1100249030
XMLの論考: 第8回
XMLを階層モデル、リレーショナル・モデル、オブジェクト指向モデルに適応させる
http://www.ibm.com/developerworks/jp/xml/library/x-matters8-index/
入れ子になったテーブル
http://technet.microsoft.com/ja-jp/library/ms175659.aspx
階層構造、入れ子構造、ツリー構造のデータベースでの表現方法
http://hassylin.nowa.jp/entry/3a21342417

| --数値を文字列に変換 SELECT STR(1) --結果:' 1' |
| --指定文字を指定回数繰り返す SELECT REPLICATE('0', 10) --結果:'0000000000' |
| --指定文字列を指定した文字列に置き換える SELECT REPLACE( '00010000010000100', '0', '') --結果:'111' |
| --右端から文字列を切り取る SELECT RIGHT('0000000123', 3) --結果:'123' |
| --変数を宣言する DECLARE @Number INT SET @Number = 123 |
| --0埋めを行う(例、10桁) SELECT RIGHT(REPLICATE('0', 10) + REPLACE(STR(@Number), ' ', ''), 10) --結果: '0000000123' |
| --DateTime型をInt型へ変換する('2008/01/01 00:00:00' → 20080101) DECLARE @Date DATETIME SET @Date = '2008/01/01 00:00:00' SELECT CAST(CONVERT(VARCHAR, @Date, 112) AS INT) --結果: 20080101 |
| --'2008/01/01 00:00:00'から月末の日付を取得 SELECT DATEADD(DAYOFYEAR, -1, DATEADD(MONTH, 1, @Date) ) --結果:'2008-01-31 00:00:00.000' |
| --現在の時刻を取得 SELECT GETDATE () --結果:'2008-02-25 13:01:24.903' |
| --任意の日付から月末日を取得する SELECT DATEADD(DAYOFYEAR, -1, DATEADD(MONTH, 1, CONVERT(DATETIME, CONVERT(VARCHAR(6), GETDATE(), 112) + '01' + ' 00:00:00'))) --結果:'2008-02-29 00:00:00.000' |
| --int型の任意の日付から月末を取得する SELECT CAST(CONVERT(VARCHAR, DATEADD(DAYOFYEAR, -1, DATEADD(MONTH, 1, CONVERT(DATETIME, CONVERT(VARCHAR(6), REPLACE(STR(20080215), ' ', '')) + '01 00:00:00', 112))), 112) AS INT) --結果:20080229 |
| --int型の日付をDatetime型に変換する SELECT CONVERT(DATETIME, CONVERT(VARCHAR(8), 20090220)) --2009-02-20 00:00:00.000 |
| --年齢計算 SELECT FLOOR((CAST(CONVERT(VARCHAR(8), GETDATE(), 112) AS INT) - 19840110)/10000) AS AGE --25 |
| --条件分岐 --詳しくは「CASE式のススメ」 --http://www.geocities.jp/mickindex/database/db_case.html SELECT Tbl.ID ,CASE COALESCE(Tbl.DELFLG, 0) WHEN 1 THEN '●' ELSE NULL END AS [削除済] FROM ( SELECT 1 AS ID, NULL AS DELFLG UNION SELECT 2 AS ID, 1 AS DELFLG UNION SELECT 3 AS ID, 0 AS DELFLG ) AS Tbl ORDER BY Tbl.ID --ID 削除済 --1 NULL --2 ● --3 NULL |
実行ファイルからアプリケーションのアイコンを取得するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/280getappicon/getappicon.html
FrameWork 2.0以降の場合
http://www.atmarkit.co.jp/fdotnet/dotnettips/432extracticon/extracticon.html
DataGrid の列幅を最長フィールドの長さに設定する方法
http://support.microsoft.com/kb/812422/ja