IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
アイコンがずばりラムダ・マーク なid:mindさんが、はてなブックマークコメントで曰く: ぉ! 問題集希望♪ そうですね。「JavaScriptで学ぶ・プログラマのためのラムダ計算」の節ごとに練習問題を入れておけばよかったな、と、ちょっと高階、じゃなくて後悔。このエントリーで練習問題を提供しましょう。JavaScriptの実行環境に関しては「もっともお手軽な対話的JavaScript処理系」を参照してください。 1. JavaScriptの関数リテラル 例に挙げたsquareは、「square(x) = x×x」という中学数学風の関数定義を二通りの方法でJavaScritpに翻訳したものです。同様に以下の関数定義を、JavaScritp関数として二通りの方法で定義してください。 double(x) = 2×x sqsum(x, y) = x×x + y×y 次の式(ラムダ計算の用語では適
nak2kさんが、次のエントリーでWindows環境での対話的JavaScript処理系を紹介しています。 Win版インタラクティブJavaScript - nak2kのメモ帳 InteractiveJS その2 - nak2kのメモ帳 これは、「JavaScriptによるJavaScriptインタプリタ」という感じのもの。このnak2kさんのエントリから参照されている SpiderMonkey で JavaScript のインタラクティブシェル - bkブログ には次のように書いてあります。 インタラクティブシェルは JavaScript の基本的な動作を理解するのに非常に役立つと思います。 そう思います。僕自身はRhinoを使ってます。で、選択肢としては: SpiderMonkey (the Mozilla's C implementation of JavaScript)の対話的処理
「JavaScriptによるテンプレート・モナド、すっげー簡単!」にて: 紙と鉛筆でラムダ計算を実行できることは必要だな、やっぱり。 なんて強調したので、ラムダ計算の入門、いってみよう。 [追記]練習問題集を追加しました。説明を読みながら、あるいは読んだ後で是非やってみてください。→「JavaScriptで学ぶ・プログラマのためのラムダ計算 問題集」[/追記] ※印刷のときはサイドバーが消えます。 内容: JavaScriptの関数リテラル ラムダ式ってなんだ ラムダ計算の体系と適用操作 ラムダ式の例をいくつか β変換 -- ラムダ計算のキモ! β変換を何度か実行してみる 中間まとめ、まだ続きがあるよ JavaScriptの関数リテラル 最初に、JavaScriptに関する知識を確認しておきましょう。なお、JavaScriptの対話的実行環境については「もっともお手軽な対話的JavaScr
最近、CSS の使いまわしなどを視野に入れ、一部で class名や id名の共有というテーマへの関心が徐々に高まりつつあるような印象です。microformats なんかも、その流れのひとつといえるでしょう。 Naming conventions table(And all that Malarkey) もう、class名やid名で悩まないんだからっ!!(CSS HappyLife) (X)HTML の id/class における命名規則(purprin さん CSS Flight プレゼンスライド) 名前の共有はコードの共有のための(複数人で同一コードを編集・転用する)重要なファクターのひとつですし、非常にいい傾向だとは思うんですけど、実際につけられている名前を見てみると、シブい顔をせざるを得ない事例が結構あるようです。 コード共有のためには避けたい命名事例 構造ではなく見栄えで命名して
ご存知の方も多いかと思いますが、ご存知ない方のためにちょっとしたTipsをご紹介。Internet Explorer5.5以上限定ですが。 Webサイトをブラウザ上で自由に編集できてしまうテクニックです。やり方は簡単。下記のJavaScriptをアドレスバーに打ち込むだけ。 javascript:document.body.contentEditable='true'; document.designMode='on'; void 0 こんな(↓)感じです。 ドラッグ&ドロップで画像を動かせる他、テキストも自由に書きかえることができます。これはコンテンツをブラウザ上で編集できる「contentEditable」というタグを活用したTipsですね。 » contentEditableについて スクリーンショットを取る時にいらない画像を簡単に消したりできるのは便利かも。diggからの情報でした
htaccess使えない人は、こういうことやればいいのかな? var Tinycafe = {}; Tinycafe.toppage = 'http://localhost/~kazuaki/tinycafe/'; Tinycafe.deny = [ 'http://localhost/~kazuaki/tinycafe/denied.html' ]; Tinycafe.allow = []; Tinycafe.check = function (ref,pattern) { for(var i = 0, len = pattern.length; i < len; i++) if(ref.match('^' + pattern[i])) return true; return false; }; Tinycafe.verify = function () { var ref = docu
画像拡大後も処理を繰り返してしまう問題があったので修正しました。 http://yagi.xrea.jp/2006/12/miximix.user.js Greasemonkeyスクリプトなどを書いてると、対象HTML中にJavaScriptを埋め込みたくなることがあります。 ベタに書くと大変うざいことにりますが、 script.innerHTML = "add = function(a, b){" + " var ans = a + b;" + " return ans;" + "}"; こう書くとすっきり。 script.innerHTML = "add = " + (function(a, b){ var ans = a + b; return ans; }); 関数を普通に記述した上で、それを文字列に変換。
「プログラマのためのJavaScript」の番外シリーズ -- いやっ、ホントに。 これはシリーズのハブエントリーです。番号を(0じゃなくて)1にしたのは、全体目次だけじゃなくて内容が含まれるから。 ※ 印刷時にはサイドバーは消えるはずです、お試しください。 シリーズ全体目次(予定) (この記事;総論) 速攻速習編 自己適用からゲーデル化へ 「展望」への緊急パッチ(オハナシだよ) Reflective JavaScript 停止問題の構造 不完全性定理の構造 今回の内容: ゲーデルの不完全性定理とプログラミング ゲーデルが示したこと 不完全性定理の兄弟 -- 停止問題 JavaScript使うんだもんね 関連する記事(参考) 次の記事 速攻速習編 ●ゲーデルの不完全性定理とプログラミング 「ゲーデル」(人名;Kurt Godel、'o'の上に点々が付いてる)や彼の「不完全性定理」とかって、
はじめまして新潟 隣の県なのになんとなく遠いイメージがあった新潟。休日出勤の振休と夫の休暇(上司から取れと言われたらしい、かわいそ…)が合ったので久々に遠出しよう!となり新潟へ。このあたりで隣の県を選ぶあたり我々の出不精具合が現れていますね。 1日目 行くぜ新潟 まずはへ…
Part4では,Lisp(リスプ:List Processor)インタプリタをJava言語を使って作っていきます。Lispは非常に歴史が古く,様々な分野で利用されている言語です。しかし,皆さんの中にはLisp自体をよく知らないという方もいらっしゃるかもしれません。どんなものを作るかわからないままでは面白みも半減してしまいますから,まずはLispのごく基本的な動作を紹介しましょう。 まずは簡単Lisp講座 Lispの本質は,すべてがリスト(正確にはS式,詳細は後述)で表現されることにあります。リストは要素を順序付きで並べたもので,“(1 2 3 4)”のように要素の並びをカッコでくくって表記します。このリストの要素は1,2,3,4の四つです。 「すべてがリストで表現される」という言葉の通り,Lispではプログラムもこのようなリストとして表現します。Lisp処理系は,与えられたリストの一つ目の
「IT戦記 - JavaScript で遅延評価」より。遅延評価といえばたらいまわし関数と相場が決まっている、ような気がする。 function tak(x, y, z) { return (x <= y) ? y : tak(tak(x - 1, y, z), tak(y - 1, z, x), tak(z - 1, x, y)); } これを元記事に従って書き直すとこうなる。 // from http://d.hatena.ne.jp/amachang/20061204/1165180769 Function.prototype.lazy = function () { return { valueOf: this }; }; function takL(x, y, z) { return (x <= y) ? y : takL(takL(x - 1, y, z), takL(y -
Video Blogãã¼ã ãã¼ã¸ å¶ä½It æ±äººãã¼ã Pcã¦ã§ã ãã¶ã¤ã³ãã½ã³ã³ 販売ãã¼ã ãã½ã³ã³ãã½ã³ã³è³æ ¼ Itãã¼ã ãã¼ã¸ 製ä½ãã½ã³ã³ é販 ãã¹ãã£ã³ã° ãµã¼ãã¹Pc ã»ãã¥ãªãã£It ã¹ã¯ã¼ã«ãã¡ã¤ã³ãã¼ã ãã¼ã¸ å¶ä½ ä¼ç¤¾Web ãã¶ã¤ã³
はてなのログインについて、ユーザー名とパスワードをいちいち入力せずに、「指定したURL」を入力することで自動的にログインできるようなURLは見つけることはできますでしょうか?またどのような方法で見つけたかもぜひ教えてください。もちろんログイン画面の「次回から自動的にログイン」を使用しないことが前提です。
2006年11月16日16:55 カテゴリLightweight Languages オブジェクトは難しくない。難しいのはクラス 大人だからオブジェクトは難しくなる。子供にとっては実はオブジェクトは自然で自明で簡単だ。 オブジェクト指向を正しく理解する:ITpro オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。事実、オブジェクト指向というのは最初は子供向けだったのだ。 このことを、現在「オブジェクトとはなんぞや」という大人たちは忘れてしまっている。 それで、オブジェクトとは何か、といえば、「自分が何が出来る
文章をタグクラウド化 アメリカ合衆国の大統領の演説をタグクラウド化した US Presidential Speeches Tag Cloud や日本の首相の演説をタグクラウド化した Japanese Prime Minister Speeches Tag Cloud などを見て、そういう使い方があるんだな、と面白かった。 他にもいろいろな文章をタグクラウド化できたら面白いのではないかと思ったりしたので、JavaScript で作ってみました。単語の分け方は単純に漢字とカタカナと英数字だけなので、かなりいい加減ですが。しかも、すべての単語を表示させているので多すぎる気もしますけど。 追記:単語数が50以上の場合は3回以上出現したものだけ表示させるようにしてみました。 例として入力されている文章は安倍内閣総理大臣所信表明演説です。作成ボタンを押すとタグクラウドが表示されます。 (はじめに) こ
日本の首相演説のタグクラウド および US Presidential Speeches Tag Cloud に触発されて、はてなブックマークのタグを時系列で並べてみたらおもしろいかも!と思い、作ってみました。 「あー、このころは、こんなことに夢中だったんだ」と、意外な再発見があるかもしれません。 サンプルとして、私のタグクラウドを表示してます。自分のタグクラウドを表示させることもできますので、試してみてくださいね。 エクスポート用の Atom フィード をクリップボードにコピーします。 下のテキストエリアに貼り付けて、読み込みボタンを押します。 ちゃんとした XML である必要はありませんブラウザが出力する '-' などの記号が入っていても OK です。 ブックマークが1000以上ある人は1000個ずつぐらいに区切って貼り付け・変換したほうがいいかもしれません読み込みにはあまり時間がかかり
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く