並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 24 件 / 24件

新着順 人気順

クロージャの検索結果1 - 24 件 / 24件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

クロージャに関するエントリは24件あります。 javascript、 JavaScript、 電子書籍 などが関連タグです。 人気エントリには 『JavaScript のクロージャーと for 文の let 初期化の例外』などがあります。
  • JavaScript のクロージャーと for 文の let 初期化の例外

    先日、次のような JavaScript クイズを Twitter で出しました。 // JavaScript quiz: 出力は? const a = []; { for(let i = 0; i < 10; i++) { a[i] = () => console.log(i); } } a[3](); { let i; for(i = 0; i < 10; i++) { a[i] = () => console.log(i); } } a[3](); { for(let i = 0; i < 10;) { a[i] = () => console.log(i); i++; } } a[3](); — Takuo Kihira (@tkihira) August 15, 2022 答えは 3, 10, 4 なのですが、for 文の let 初期化専用の例外処理がない場合は 10, 10,

    • アメリカ海軍 空母セオドア・ルーズベルト 艦長を解任されたクロージャー大佐について

      CNN Politics @CNNPolitics Ex-Navy commander who sounded alarm over coronavirus outbreak tests positive for virus, the New York Times reports cnn.it/3aLNmOn pic.twitter.com/3sb6PrUprY 2020-04-06 07:01:07 リンク CNN New York Times: Ex-Navy commander who sounded alarm over coronavirus outbreak tests positive for virus The Navy captain removed from command of the USS Theodore Roosevelt last week after wa

        アメリカ海軍 空母セオドア・ルーズベルト 艦長を解任されたクロージャー大佐について
      • クロージャによる死(とQwikによる解決方法) | POSTD

        世界中にQwikを紹介した前回の記事では、 多くの要素についてざっと触れるに留まり、詳細については後で説明するとお約束していました。 Qwikとその背景にある設計思想を知る前に、まず私たち(業界)が現在の場所までどのようにたどり着いたかを理解しておくことが重要です。 現代のフレームワークはある前提のもとに成り立っており、 それが優れたTime to Interactive(TTI)スコアの実現を妨げているのですが、 その前提とはどのようなものなのでしょうか。 現行世代のフレームワークの現時点における限界を理解することで、 Qwikの設計思想がなぜ最初は驚くべきものに思えるのか、より深く知ることができるでしょう。 TTIについて TTIは、URLに遷移してからページがインタラクティブになるまでの時間を測定したものです。 レスポンシブなサイトとしての体裁を整えるには、サーバーサイドレンダリング

          クロージャによる死(とQwikによる解決方法) | POSTD
        • 歴史を感じつつ、クロージャで遊んでみた(JavaScript編) - iimon TECH BLOG

          こんにちは!株式会社iimonでフロントエンジニアをしている「ひが」です! 本記事はアドベントカレンダー19日目の記事になります! 先日夢で「メリークロージャマス!!!」と叫んでスベる夢を見ました。 冬だからか、みなさん冷たかったです(現実では暖かいです) そのようなこともあり、思い切って記事にしてみようと思いました! どうか、暖かい目で見守っていただけると嬉しく思います!! 本題 本題ですが、みなさんはクロージャをご存知でしょうか。 MDNよりお言葉を借りると クロージャは、組み合わされた(囲まれた)関数と、その周囲の状態(レキシカル環境)への参照の組み合わせ です! 初見だと何言ってるかよくわからないですよね。 本記事でざっくり掘っていきますので、是非一緒に見ていただければ幸いです! ※ 本記事は基本的にMDNの内容に沿う形で進めつつ、たまに脱線したり小ネタを挟んだりします ※ コード

            歴史を感じつつ、クロージャで遊んでみた(JavaScript編) - iimon TECH BLOG
          • 【Laravel】 DB::transaction と クロージャの中身をモックするユニットテスト

            TL;DR クロージャを引数として受け取るメソッドをモックし,かつ渡されたクロージャ内で呼ばれるメソッドもアサートしたい場合は with(\Hamcrest\Core\IsInstanceOf::anInstanceOf(Closure::class)) andReturnUsing(fn (Closure $closure) => $closure()); を使うことで実現できる メソッドチェーンでそれぞれのメソッドをモックする場合は andReturn($user = Mockery::mock(UserContract::class)); のように,メソッドの戻り値を新たにモックし,変数に格納することで,次のメソッドのモックは,前のメソッドの返り値(のモック)を使うことができる はじめに PHP でテストを書く上ではほぼ必須と言って良いおなじみのモックライブラリ Mockery .

              【Laravel】 DB::transaction と クロージャの中身をモックするユニットテスト
            • JavaScriptクロージャーの仕組みとスコープ:関数型プログラミングにおける重要な概念の解説 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

              クロージャー(Closure)の概念は関数型プログラミングにおいて重要であり、JavaScriptの面接でよく質問される事もあります。 どこでも使用されていますが、クロージャーは把握するのがとても困難でもあります。 まず、クロージャーを学ぶまえに(スコープ)および(レキシカルスコープ)の基本を学ぶ必要があります。 そして、前提としてJSの変数および関数に精通しているかご確認下さい。 この記事では、JavaScriptクロージャーの仕組みおよびJavaScriptスコープについて解説します。 スコープ スコープチェーン レキシカルスコープ JSのクロージャーとは? レキシカルスコープとクロージャーの違い JSでのクロージャの利点と欠点 最後に スコープ JavaScriptのスコープ(Scope)は、変数や関数がどこからアクセス可能かを定義する仕組みです。 変数や関数がどこで宣言されたかによ

                JavaScriptクロージャーの仕組みとスコープ:関数型プログラミングにおける重要な概念の解説 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
              • 4歳娘「パパ、そんなときはクロージャが役に立つんじゃない?」 - Qiita

                ↓新しい記事もよろしくやで! 4歳娘「パパ、懐かしいJavaScript書いてるね!」 4歳娘「パパ、constしか使わないで?」 休日ワイ ワイ「(カタカタカタカタ・・・・・・)」 娘(4歳)「パパ、お休みの日までお仕事してるの?」 ワイ「ん?これはお仕事とちゃうで」 ワイ「ワイのオリジナルポエムを販売するための」 ワイ「ポエム販売サイトを作ってんねん」 娘「Qiitaに書き溜めたポエムを、とうとう有料で販売するんだね!」 ワイ「誰の記事がポエムやねん」 ワイ「これはれっきとした技術記事や」 娘「そっか」 ワイ「そうやなくてな」 ワイ「ワイが作った、心温まるポエムを販売して」 ワイ「それで生計を立てて」 ワイ「働かんでええようにするんや!」 娘「パパ、すごい!」 ワイ「ぐへへ」 ワイ「まあ、下手に仕事を辞めたりしたら」 ワイ「路頭に迷ってしまうかもしれんから」 ワイ「ちょっと不安やけどな

                  4歳娘「パパ、そんなときはクロージャが役に立つんじゃない?」 - Qiita
                • Swift 5.2では関数・メソッドの最後の引数がデフォルト引数の場合、その1つ前のクロージャの引数をtrailing closureとして呼べるようになった - いけだや技術ノート

                  タイトルがほぼ全てです。 func foo(_ closure: () -> Void, defaultArg: Int = 0) { closure() } foo { print("foo") } このコードはSwift 5.2では動作しますが、Swift 5.1以前ではコンパイルエラーになります。 Nimbleに挙がったissueでそのことに気付きました。 Discordのswift-developers-japanで話してみたところ、apple/swiftのこのコミットが該当の変更であることを分かりました。 さらに芋づるで分かったことがあって、一時期のSwiftのDevelopment SnapshotでNimbleのビルドが通らなくなったり、そのリグレッションがきっかけでapple/swift-source-compat-suiteにNimbleが追加されたのもこの辺りに関連した

                    Swift 5.2では関数・メソッドの最後の引数がデフォルト引数の場合、その1つ前のクロージャの引数をtrailing closureとして呼べるようになった - いけだや技術ノート
                  • Rustのクロージャtraitについて調べた(FnOnce, FnMut, Fn) - Qiita

                    概要 Rust勉強中です。 クロージャを扱うときに出てくる三つのtrait (FnOnce, FnMut, Fn) について、主に以下の観点で調べたので、備忘録的にまとめます。 クロージャを定義したとき、どのtraitが実装されるのか クロージャを扱うときにどのtraitを使えばいいのか 誤りなどありましたらご指摘いただければと思います。 なお、参考文献は末尾にまとめました。 以下の内容は、v1.23.0 (2018/1/12時点の最新のstable)に基づきます。 追記(2021/02/14): 最新版(v1.50.0)に基づいた内容に変更、文章の修正、参考文献の更新 前提: クロージャとFnOnce, FnMut, Fnについて Rustでクロージャを定義すると、キャプチャした変数をメンバとして持つ匿名構造体が、コンパイル時に内部的に作られます。12 この内部的に作られる型はコンパイル

                      Rustのクロージャtraitについて調べた(FnOnce, FnMut, Fn) - Qiita
                    • 関数のカリー化って何だ? JavaScriptの関数の使い方をマスターできる解説書が発売/ECMAScript 2021に対応。関数定義の書き方からクロージャや再帰の応用までカバー【Book Watch/ニュース】

                        関数のカリー化って何だ? JavaScriptの関数の使い方をマスターできる解説書が発売/ECMAScript 2021に対応。関数定義の書き方からクロージャや再帰の応用までカバー【Book Watch/ニュース】
                      • Task.initのクロージャーに[weak self]はいらない。Task.detachedとTaskGroup.addTaskも同様

                        2022年7月29日、インプレスR&D社よりSwift Concurrencyの解説本をリリースしました。 一冊でマスター!Swift Concurrency入門です。 こちらの本は一冊でSwift Concurrencyの機能をほぼ網羅したConcurrency機能の解説本です。 日本語でSwift Concurrencyを学べる解説本はまだ少ないので、Swift 5.5からの非同期処理をうまく書きたい方には必見の本となっています。 詳しい内容はこちらをご覧ください。 同人誌として先にリリースしましたが、商業版も同じ内容となっています。 技術解説本「Swift Concurrency入門」を刊行しました 同人版はBOOTHで販売中です。 https://personal-factory.booth.pm/items/3888109 さて、せっかくリリースしたばかりなのですが、一部のサンプ

                          Task.initのクロージャーに[weak self]はいらない。Task.detachedとTaskGroup.addTaskも同様
                        • Rustのクロージャは厳密にはクロージャではない - なんか考えてることとか

                          前々から思っていたのだが、Rustのクロージャという「名前」には違和感があった。なぜなら、クロージャと言うのは本来ただの関数のことを示すわけではないからだ。 だがクロージャについて調べてみて、改めて「Rustのクロージャは厳密にはクロージャではない」ということがはっきりしたので、今回はRustのクロージャはクロージャではないということを説明していこうと思う。 Rustの「クロージャ」とは そもそも「クロージャ」の定義とは? なぜRustのクロージャは「クロージャ」ではないのか? Rustのクロージャで疑似的なクロージャを作る (1) ヒープメモリを使わない実装 (2) ヒープメモリを使った実装 Rustの「クロージャ」とは まずは簡単にRustの「クロージャ」(以下Rustクロージャ)について説明していこう。Rustクロージャは以下のように書くことで定義できる。 let closure =

                            Rustのクロージャは厳密にはクロージャではない - なんか考えてることとか
                          • Rust のクロージャについて

                            以下にある (例1) は実行可能なのですが、(例2) がコンパイルエラーになる理由が分かりません。 (例2) も、「let mut func」とすればコンパイルが通るのですが、そうすると、逆に (例1) で「mut」が不要な理由が分からなくて悩んでいます。 すみませんが、ご教授くださるよう、どうぞ宜しくお願いいたします。 (例1) fn main() { let str = "string".to_string(); let mut count = 10; let func = || { count += 1; std::mem::drop(str); }; func(); }

                              Rust のクロージャについて
                            • クロージャのイメージ図 - Qiita

                              はじめに 今回の質問(Qiitaでの質問ではありません) クロージャで外側の変数が参照できるというのは理解できるが納得はできない。関数内の変数1(引数含む)は関数が終了したら消えるのではないか?変数はどこかに保持されてるのだろうけど具体的にどこにあるのか。 これに対して 「まずはそういうものだと思わないといけない。それ以上知りたいのならPythonのソースを読まないといけない。ちなみに関数(クロージャ)に結び付けられている」 と答えたのですが、もう少し考えたところ、 「そもそも関数が終了したら変数が消えるという概念自体どこから学んだのか(消えるけど)。なお言語実装に関する知識(つまりスタック上に変数が確保される2という知識)はないものとする」 ということが気になりました。 そんなわけで今回はここら辺の概念を絵で説明しようと思います。 関数と変数と関数の終わり クロージャの前にまず普通の関数

                                クロージャのイメージ図 - Qiita
                              • クロージャ:環境をキャプチャできる匿名関数 - The Rust Programming Language 日本語版

                                クロージャ: 環境をキャプチャできる匿名関数 Rustのクロージャは、変数に保存したり、引数として他の関数に渡すことのできる匿名関数です。 ある場所でクロージャを生成し、それから別の文脈でクロージャを呼び出して評価することができます。 関数と異なり、呼び出されたスコープの値をクロージャは、キャプチャすることができます。 これらのクロージャの機能がコードの再利用や、動作のカスタマイズを行わせてくれる方法を模擬しましょう。 クロージャで動作の抽象化を行う クロージャを保存して後々使用できるようにするのが有用な場面の例に取り掛かりましょう。その過程で、 クロージャの記法、型推論、トレイトについて語ります。 以下のような架空の場面を考えてください: カスタマイズされたエクササイズのトレーニングプランを生成するアプリを作るスタートアップで働くことになりました。 バックエンドはRustで記述され、トレ

                                • 1パスコンパイラでのクロージャの実装方法(Upvalue)

                                  Crafting Interpretersを読んである程度全体の構成はわかったんだけど、クロージャの実装方法はあまりよく理解せずに飛ばしてしまったのでもう一度ちゃんと理解したいと思う。 Loxでのクロージャの実装手法VM版でのクロージャは25章 - Closureで解説されている。 まずVM版がどうやってローカル変数を扱っているかというと、VMに値のスタックを持っていて、値を積んだり取り出したりして行っている。 クロージャを実装しない段階ではスコープの開始・終了や関数呼び出しによるローカル変数の生存期間と、スタック上に配置された値の生存期間が一致している。 スタックを使用することで、新しいローカル変数の追加や関数呼び出し時にも特にヒープ確保を発生させずに行うことができて効率がよい。 しかしクロージャでローカル変数をキャプチャできると話が変わってくる。 スコープを抜けた後にもローカル変数にア

                                  • C言語でクロージャーを実現したい、あるいは実行時のコード生成によるクロージャー | 雑記帳

                                    導入:クロージャーについて 昨今ではクロージャーを使えるプログラミング言語は珍しくなくなった。クロージャーとは、関数の引数だけではなく、外のスコープにある変数を参照できる関数のことである。 例えば、次のJavaScriptコードでは、関数を返す関数 f を定義している。 f の中で定義された無名関数は、外側の変数 x を参照できている。 function f(x) { return function(y) { return x + y; }; } JavaScriptではネストした関数を使わなくても、bindメソッドによって同等の処理を記述することができる: function g(x, y) { return x + y; } function f(x) { return g.bind(null, x); // gの第1引数を束縛する } 残念ながらC言語にはクロージャーはない。関数の中に

                                    • SwiftUIのViewはなぜクロージャでselfを書いても循環参照しないのか - Qiita

                                      SwiftUIでコードを書いていると、クロージャでViewのselfを頻繁に使うと思います。大抵のiOSアプリ開発者はselfを書かなければいけない場面にのみselfを利用しているので、循環参照しないようにweakもしくはunownedにすることを考慮したくなりますが、SwiftUIのViewはそこは考慮しないでも良いようです。この記事はその理由などを書いています。 なぜSwiftUIでselfが登場しても循環参照しないのか 本題です。SwiftUIでselfを頻繁に使う例として、Buttonのactionクロージャでselfを使う例を利用します。 画面としては次のようなボタンだけのContentViewを考えます。 import SwiftUI struct ContentView: View { var body: some View { Button(action: { /* [we

                                        SwiftUIのViewはなぜクロージャでselfを書いても循環参照しないのか - Qiita
                                      • 【JavaScript】クロージャについて60秒で理解しよう - Qiita

                                        クロージャは、JavaScriptでは非常に重要な概念の一つですが、初心者にとっては抽象的で難解に感じることがあります。特に、ECMA規格での定義は実務経験がないと理解しにくいでしょう。そこで、本記事ではクロージャの概念について長々と説明するのではなく、具体的なコードを通して短時間で理解できるようにします。 1. これがクロージャだ 新しい技術に触れる際に、まず最初にやるべきことは、そのデモコードを探すことです。私たちにとって、コードを読むことは自然言語よりも物事の本質を理解しやすいです。実際、クロージャは至るところで見られます。たとえば、jQuery や Zepto のコアコードは大きなクロージャに包まれています。では、まず最も簡単で基本的なクロージャを紹介します。これにより、クロージャの概念を頭の中にイメージしやすくなるでしょう。 これは最も簡単なクロージャです。 これで基本的な理解が

                                          【JavaScript】クロージャについて60秒で理解しよう - Qiita
                                        • Rust のイテレータとクロージャを理解して rayon で並列処理する

                                          Rust のデータ並列ライブラリ rayon のコンパイルをちゃんと通せるくらいまで、 Rust の実装を整理する。 本 Book はイテレータの各種メソッド ( iter, into_iter, collect, map, filter ) について実装を整理し、クロージャの仕組みと種類 ( Fn, FnMut, FnOnce ) について整理するのが主な内容となる。 さらに軽くマルチスレッド用のマーカートレイト ( Sync, Send ) について確認し、rayon イテレータの各種メソッド ( par_iter, into_par_iter, map, filter ) について整理する。 必要最低限のスマートポインタ ( Rc<T>, Arc<T>, Mutex<T> ) についても確認し、rayon を用いた並列処理のコンパイルを恐れず自信を持って通せることを目標とする。 この

                                            Rust のイテレータとクロージャを理解して rayon で並列処理する
                                          • Microsoft、TypeScript 5.4ベータ版を発表 ー クロージャ内での型推論が向上、NoInferåž‹å°Žå…¥

                                            Microsoftは、2024年1月30日にTypeScript 5.4 Betaの提供を発表した。この新リリースでは、変数の型推論が向上し、他にもさまざまな新機能が追加されている。 Microsoftは、2024年1月30日にTypeScript 5.4 Betaの提供を発表した。この新リリースでは、変数の型推論が向上し、他にもさまざまな新機能が追加されている。 TypeScript 5.4では、関数クロージャ内での変数の狭小化が進化し、JavaScriptコードの表現がより容易になった。これにより、開発者はよりスマートで効果的なコードを書くことができるようになる。 また、新しいユーティリティ型であるNoInferが導入され、ジェネリック関数の型引数推論をより細かく制御できるようになった。これにより、型の推論がより柔軟になり、開発プロセスがよりスムーズに進むだろう。 JavaScript

                                              Microsoft、TypeScript 5.4ベータ版を発表 ー クロージャ内での型推論が向上、NoInfer型導入
                                            • 相互再帰関数の型付きクロージャ変換

                                              はじめに 相互再帰関数のシンプルな型付きクロージャ変換を考案したので紹介する。このブログは、最終的に相互再帰関数の型付きクロージャ変換に行き着くために、クロージャ変換の各手法を図解して、その相違点を明確にしながら解説している。そのため、クロージャ変換のイントロ的な使い方もできると思う。 型付きクロージャ変換(Typed closure conversion)と呼ばれるものは[Minamide, 1995]が元になっていて、ここで多相型を含めた変換方法が示された。その後、拡張として[Morrisett, 1998]で再帰関数における3つの変換手法が示された。これらの研究はやがて、型付きアセンブリ言語(TAL)などの研究へとつながっている。しかし、相互再帰関数については明確に記述された文献が(私の知る限り)ない。だからといって、変換方法が自明であるかといえばそうではないと思う。実際に実装してみ

                                                相互再帰関数の型付きクロージャ変換
                                              • Pythonのクロージャについて: 関数のスコープと、関数が第一級オブジェクトであることからちゃんと考える - Qiita

                                                Pythonのクロージャについて: 関数のスコープと、関数が第一級オブジェクトであることからちゃんと考えるPythonPython3 ※2018/10/31 コメント欄のご指摘を基に、誤字脱字含め一部修正しました まだまだ Pythonを勉強中なのですが、「クロージャ」という概念がパッとは分からなかったので、調べました。 「Flaskで LINE Bot作ろう」 ->「デコレータでルーティングしてる、デコレータ理解してないから勉強しよう」 ->「デコレータはクロージャを使った仕組みらしいけどクロージャ分からないから勉強しよう」 という調べものスパイラルのさなかです。 手元の入門書を見たり、Webで検索したりして調べましたが、クロージャの解説は複雑・難解なものや、逆に省略し過ぎなものが多いように感じて困ったので、いろいろ手元で試しました。似たようなお悩みを持つ方のお役に立てば幸いです。 なお

                                                  Pythonのクロージャについて: 関数のスコープと、関数が第一級オブジェクトであることからちゃんと考える - Qiita
                                                • 乳房再建以外の選択肢 フラットクロージャー

                                                  ”aesthetic flat closure”と呼ばれる、スムーズでフラットな胸壁にするフラットクロージャーを選択する女性たち。 フラットクロージャー支持者は、傷痕がなるべく残らないようにするにはどうするかなど、審美(美容)トーレニングを受けた外科医がプロセスに加わるべきだと考えている。 「私たちは、乳房再建はしたくなくても見た目を気にする女性のことを外科医に理解してほしい。彼らに尽力してほしいのです」 とフラットクロージャー支援団体の提唱者キンバリー・ボウルズさんは言う。 米医師ら専門家が解説する、乳がん患者が「乳房再建」を強要されてしまう理由より

                                                    乳房再建以外の選択肢 フラットクロージャー
                                                  1

                                                  新着記事