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.
この項目では、プログラムの継続について記述しています。「継続」の語義については、ウィクショナリーの「継続」の項目をご覧ください。 計算機科学における継続(けいぞく、continuation)とは、プログラムを実行中のある時点において、評価されていない残りのプログラム(the rest of the program)を表現するものであり、手続き(procedure)あるいは関数(function)として表現されるものである[1]。 継続に相当する概念は1960年代初頭から存在しており、Algol 60のコンパイラの実装[2]などの文献にたびたび登場していたが、継続の利用に関する最も早い記述は、1964年のアドリアン・ファン・ワインハールデン (en:Adriaan van Wijngaarden) によるものである[1]。
Effective JavaScript A Few Ways to Improve Your JavaScript Effective JavaScript は JScript 、JavaScript 、ECMAScript による効果的なスクリプトの構築方法を解説するものです 目次 0 序章 はじめに 表記法 1 関数 引数 - デフォルト引数、正当性チェック、残余引数、オーバーロード 関数とオブジェクト - 無名関数、関数オブジェクト、関数アダプタ クロージャ - 無名関数を返す関数 関数の変形 - 関数の合成、引数の束縛、引数の加工 2 例外 3 オブジェクト プロパティとメソッド - 基本的な話 コンストラクタとプロトタイプ - コンストラクタ、メソッドの定義、プロトタイプによる継承 アクセスレベル - 非公開メンバ、限定公開メンバ実現のアプローチ © 1999-2004 exe
2007年12月06日15:30 カテゴリアルゴリズム百選 アルゴリズム百選 - 値と参照 今回は値と参照について取り上げます。 突然ですが問題です。以下のJavaScriptプログラムを実行すると、何と表示されるでしょうか? プログラム: var a = [0, 1, 2, 3]; var b = a; b[0] = 'zero'; p(a); 出力: エラー: 答えは、"zero, 1, 2, 3"です。しかし、なぜaを直接変更していないのにaの中身が変わっているのでしょうか? ここで、二行目に注目してみます。ここでは変数bに変数aを代入しています。変数aは配列です。ここだけ見ると、内部で起こっているのは以下のようなことに見えなくもありません。 array b -+ array b -+ | 0 | | 0 | | 1 | = | 1 | | 2 | | 2 | | 3 | | 3 |
If you're not sure which to read, try How to Do Great Work, Having Kids, or How to Lose Time and Money. Writes and Write-Nots When To Do What You Love Founder Mode The Right Kind of Stubborn The Reddits How to Start Google The Best Essay Superlinear Returns How to Do Great Work How to Get New Ideas The Need to Read What You (Want to)* Want Alien Truth What I've Learned from Users Heresy Putting Id
ジャンプ Scheme におけるシグナル機能のひとつはジャンプあるいは非局所制御 のサポートです。具体的にいいますと、Scheme ではプログラム中の 任意の場所へのジャンプをプログラムで制御することができる ということです。これは、条件節や手続き呼び出しによって可能な、 ずっと限定されたプログラム制御フローの形式と好対照をなしています。 Scheme の非局所制御オペレータは call-with-continuation という名の 手続きです。このオペレータをつかってどのように、ハッとさせるような 制御イディオムの数々を作りあげるのかをみていきましょう。 13.1 call-with-current-continuation オペレータ call-with-current-continuation はその引数 (これは一引数の手続きでなければなりません)を 「現在の継続(curren
この節は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "再帰的頭字語" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2019年8月) コンピュータ関係ではハッカーの集団(特にマサチューセッツ工科大学)の伝統が略語と頭字語の中に更に他のまたは同じ略語を入れることだった[要出典]。その最初期の例はおそらく、1977年~1978年頃のMagicSixのエディタのTINT("TINT Is Not TECO")である。これにヒントを受けて二つのLISPマシンエディタがEINE ("EINE Is Not Emacs") とZWEI ("ZWEI Was EINE Initially")と名づけられ
まず、ループは再帰で表現できる ループというのはすべて再帰呼び出しで表現できる。 たとえば、コレは var array = [1, 2, 3]; for (var i = 0; i < array.length; i ++) alert(array[i]); こんな感じになる (function f(array, i) { if (i < array.length) { alert(array[i]); return f(array, i+1); } })([1, 2, 3], 0); もし、 array がこの目的以外に使われないならコッチのがキレイかも (function f(array) { alert(array.shift()); if (array.length) return f(array); })([1, 2, 3]); ということは、再帰はループで表現できるはず という
このドメインを購入する。 hawklab.jp 2019 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy
情報科学実験II資料 (4) 最適化(1) 田浦 29/10/98 η reduction (または末尾呼び出しの最適化) 簡単にできて, なおかつ非常に重要な最適化を取り上げる. これがきれいにで きるのを見て, CPSはエライと思って欲しい. 例として, 以下のような関数定義をCPS変換してみる. (define (f x) (g (+ x 1))) 得られるCPS関数定義は, 以下のようなものであろう. [f (k6 x) (+ [x 1] [v9] [(fixs ([k7 (r8) (appb k6 (r8))]) (appb g (k7 v9)))])] ここで, k7が, gからreturnした後の計算を実行する継続である. しかし, 見てもわかるように, k7が実際に実行する仕事は, 受けとった 値(つまりgの返り値)を, そのままfの継続(k6)に渡してい るだけである.
Common Lispでの関数の詳細についていろいろと試してみた. 関数の基本 (setf 関数名)という関数名 大域関数と局所関数 関数のパラメータ レキシカル変数と関数とクロージャ 動的スコープ 関数の基本関数は基本的にdefunで定義する. (defun 関数名 パラメータリスト 本体) 引数に1を加えて返す関数は以下のようになる. > (defun hoge (x) (+ x 1)) HOGE > (hoge 1) 2 関数の返り値は,本体の最後の式の返り値,あるいは (return-from 関数名 値) で指定する値である.以下の関数はreturn-fromにより固定値5を返す.+式やformat式は無意味である. > (defun fuga (x) (+ x 1) (return-from fuga 5) (format t "fuga~%")) FUGA > (fuga 1
freehttp://d.hatena.ne.jp/smeghead/20071216/closure の続きというか今回はもうすこし真面目にあえて、コードレスで、自分の理解しているところのクロージャを説明してみるテストです。まず、誤解を恐れずに書いてしまうと、言語によってクロージャという機能が提供されている訳ではない。クロージャというのは、ある機能の副作用を用いたテクニックの名前である。クロージャと呼ばれているテクニックを使える言語は、以下の機能を提供しています。言い換えると、以下の機能の副作用によってクロージャというテクニックを使用できるようになります。 レキシカルスコープ(静的スコープ)関数がファーストクラスオブジェクト(第一級オブジェクト)であることレキシカルスコープオブジェクト(主に関数)が定義された時に、その場所から参照できる範囲を、オブジェクト(主に関数)の実行時にも参照でき
標準組み込みオブジェクトStringコンストラクターString() コンストラクター静的メソッドString.fromCharCode()String.fromCodePoint()String.raw()インスタンスメソッドString.prototype.anchor() 非推奨 String.prototype.at()String.prototype.big() 非推奨 String.prototype.blink() 非推奨 String.prototype.bold() 非推奨 String.prototype.charAt()String.prototype.charCodeAt()String.prototype.codePointAt()String.prototype.concat()String.prototype.endsWith()String.prototyp
ネットワーク応用通信研究所 特別研究員。島根の田舎に住みながら国際的なオープンソース・ソフトウエアの開発に挑むプログラマ。家族6人で幸せな田舎暮らしを満喫している。バグと原稿の締め切りがなければもっと幸せなのに,と思いつつ,考えてみれば,それらがないならないで,別の困ったことがあるよなあと思う今日このごろ。 皆さんは「サピア・ウォーフ仮説」をご存じでしょうか。これは言語学における古典的な仮説の一つで,「人間の思考は使用する言語とそれに付随する文化に影響を受ける」というものです。もし仮に数字を3までしか持たない言語があったとすると,その言語を使用する文化に生まれ育った人間は3以上の数を認識できない,といったことです。言語学的にはこの仮説は否定されているようですが,日常生活の中では,この仮説が本当ではないかと感じる経験がたびたびあります。 例えば,私は年に数回海外に出張して講演をする機会があり
Ant [2009-02-06] awk [/2007-05-14] C言語 [/2006-09-08] C++ [/2007-01-25] C# Java [/2014-08-09] JavaScript Common Lisp MS-DOS MSX-BASIC Oracle [/2008-04-29] PASCAL Perl PL/I PL/SQL [/2007-12-28] Scala [/2011-01-08] SQL UNIX [/2012-05-16] Visual Basic [/2008-03-07] VB.NET BNF・yacc [2007-05-11] DTD [2008-11-01] Excel [/2008-07-26] HTML IP JSP [/2007-06-30] makefile PukiWiki SQL*Plus [/2008-04-26] TeraT
四則演算 比較演算 [/2008-02-26] 論理演算 [/2007-03-15] ビット演算 関数 [/2008-07-26] →文字列関数 →日付関数 if [/2008-11-15] null 豆知識 [/2008-05-09] MSX-BASIC [2005-01-16/2008-11-15] VisualBasic for Application [2005-01-16/2008-08-12] VBScript [2007-04-06] VB.NET [2006-04-15/2008-11-15] PASCAL [2005-02-10] PL/I [2005-01-16] Perl [2005-03-12/2006-07-11] C言語(gcc, WIN32) [2005-01-16/2006-10-18] Visual C++(MFC) [2005-01-16/2006-08
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く