Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
JSEnumerator A light-weight library for list or enumeration. Download http://svn.coderepos.org/share/lang/javascript/jsenumerator/trunk/jsenumerator.js No comments: http://svn.coderepos.org/share/lang/javascript/jsenumerator/trunk/jsenumerator.nodoc.js Compressed: http://svn.coderepos.org/share/lang/javascript/jsenumerator/trunk/jsenumerator.mini.js svn co http://svn.coderepos.org/share/lang/javas
Lispの勉強をする際に、まだLisp慣れを全然してないので、JavaScriptで書くとどうだろう?ということを考えることが多々あります。 その勉強方法の良し悪しは置いといて、JavaScriptでLispのサンプルプログラムを書いてみようと思った場合、一番ネックなのが、JavaScriptとLispでは、リストの考え方がそもそも違うことかなと思いました。 Lispで(1 2 3)というリストを作る時には、以下のようなコードで作ります。*1 (cons 1 (cons 2 (cons 3 '()))) consは第一引数と第二引数から成るセルを作る関数です。 単純に(cons 1 2)というコードをJavaScriptの配列リテラル表記で表すと[1,2]となるでしょうか。 そうすると、先程作りたかった(1 2 3)というリストを作るための上記のコードをJavaScriptの配列リテラル表
JSEnumerator A light-weight library for list or enumeration. Download http://svn.coderepos.org/share/lang/javascript/jsenumerator/trunk/jsenumerator.js No comments: http://svn.coderepos.org/share/lang/javascript/jsenumerator/trunk/jsenumerator.nodoc.js Compressed: http://svn.coderepos.org/share/lang/javascript/jsenumerator/trunk/jsenumerator.mini.js svn co http://svn.coderepos.org/share/lang/javas
追記 ※仕様を変更しました。 JavaScriptで内包表記、Newバージョン haskellやErlangにあるようなリスト内包表記を理解する為にも、 また便利っぽいのでJavaScriptでも使えるよう実装してみる事にした。 実装前に検索をかけてみると既にそういう事やってる人はいるみたいだ。 JavaScriptでリストの内包表記(の真似) | 東京嫉妬 まぁ理解する為には実装してみるのが一番って事で、車輪の再発明なんて気にしない。 それに既に途中までやってるしね。ではいってみよー。 インターフェースをどうする? まず内包表記の分解から。 [x | x <- [1,2,3,4,5,6], x < 4] こんな感じの記法で、[1,2,3]というリストと等価になる。 この書き方は元々、数学の集合の定義を表現する記法に由来しているらしく、 x <- [1,2,3,4,5,6]ってのは数学の場
昨日作ったJavascriptの内包表記のインターフェースを一新しました。 listC関数の引数に要素を渡すスタイルをやめて、配列の要素に式を直接書くスタイルに変更。 (内包表記的にみて)より見た目が直観的になったと思います。 まぁそれでも言語仕様の制限上、最終的に関数コールしないといけませんが。 記述例 ["x + y|x <- [1,3,5], y <- [2,4,6], x > y"].lisc(); // [5,7,9] 書き方は結構柔軟で、文字列のみでバーチカルラインを使って式とリストを分ける標準スタイル以外にも、配列の要素としてそれぞれの式を与える事もできます。 ["[x,y]","x <- [1,3,5,7]", "y <- [1,2,3,4]", "(x + y) % 2== 0"].lisc(); // [[1,1], [1,3], [3,1], [3,3], [5,1]
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
2008年03月10日15:30 カテゴリLightweight Languages perl & javascript - nested list comprehension これをperlとjavascriptでやろうという試み。 Matzにっき(2008-03-03) - [言語] CS 11: Python track: python idioms List Comprehensionの解説で results = [(x, y) for x in range(10) for y in range(10) if x + y == 5 if x > y] という例題がある。そうか、forって複数指定できるんだ。Perl 基本的には 404 Blog Not Found:perl - 格子点を生成する関数の生成 同じ考えです。 http://codepad.org/mTJcx3Nb su
http://la.ma.la/misc/js/set/ Pythonのset型をjsに移植してみた。setってのは要素が重複しないリスト。 http://www.python.jp/doc/release/lib/types-set.html 配列として扱いたいケースが多いように思うのでArrayを拡張してSetのメソッドを加える感じで作った。制約付きの配列、みたいな感覚で扱えるように。addやupdateを使わずにpushを使って要素を追加すると重複してしまう(pushも上書きすればいいけど、直接値を代入されたらどうせ防げない)。なので厳格ではない。格納できるのはstringとnumberとboolean型のみ。でもエラーが出るわけでもない。そこら辺いい加減なので作り直すかも。 用途としてはAさんとBさんとCさんがブックマークしてるURLとか、にも関わらずあなたがブックマークしてないU
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く