並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 24 件 / 24件

新着順 人気順

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

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

クロージャに関するエントリは24件あります。 javascriptpythonSwift などが関連タグです。 人気エントリには 『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
        • 【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
              • 基本的なクロージャの実践例の「モジュールパターン」は何が起きているの? - なるの備忘録

                なんとなくクロージャーは分かったけど… 「JavaScriptのスコープの概念」や「クロージャーのメリット」は理解したけど、いまいち典型的なクロージャーのコードで何が起きているか分からなかったので調べてみました。 典型的なクロージャーのコードと分からんポイント var module = (function() {//分からないポイント①: functionの前に"("がついて、function全体が()で囲われている var count = 0; return { increment: function() {//分からないポイント②:セミコロンの隣のfunctionという見慣れない記述 count++; }, show: function() { console.log(count); } }; })();//分からないポイント③:最後の謎の何も入っていない() //分からないポイント④

                  基本的なクロージャの実践例の「モジュールパターン」は何が起きているの? - なるの備忘録
                • 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として呼べるようになった - いけだや技術ノート
                  • 関数のカリー化って何だ? JavaScriptの関数の使い方をマスターできる解説書が発売/ECMAScript 2021に対応。関数定義の書き方からクロージャや再帰の応用までカバー【Book Watch/ニュース】

                      関数のカリー化って何だ? JavaScriptの関数の使い方をマスターできる解説書が発売/ECMAScript 2021に対応。関数定義の書き方からクロージャや再帰の応用までカバー【Book Watch/ニュース】
                    • 【刺繍糸】バッククロージャーを利用して収納してみた! - 旅・料理好きによるブログ

                      皆さんこんにちは、こまつざきあやです(^^) 今回は【刺繍糸】の収納方法を紹介します。 というのも・・・ 皆さん刺繍糸の収納ってどうしてますか( ゚Д゚)? 我が家では、短い刺繍糸が増えてきました。 お手軽な収納方法ないかな?っとググってみると、 バッククロージャーに巻きつけるといいらしい! そうだ!さっそくやってみよう! ↑バッククロージャーって何? 皆さんご存じの食パンに付いてくる留め具の事でした! さっそく食パンを食べて留め具を集めましょ( ´∀` )(笑) ↑さっそく巻き付けてみました。 コンパクトに収納できてめっちゃ便利( ゚Д゚)!! ↑真ん中に短い糸を収納。箱はDaisoで購入しました。 ↑自粛中に色々なミサンガ編み覚えてみたり(*^▽^*) 【感想】使いやすい。コンパクトに収納できる。 なによりエコである(*‘∀‘)!★おわり… まつうら工業 袋の口止め 便利クロージャー

                        【刺繍糸】バッククロージャーを利用して収納してみた! - 旅・料理好きによるブログ
                      • クロージャのイメージ図 - Qiita

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

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

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

                          • 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 のクロージャについて

                              以下にある (例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 のクロージャについて
                              • 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
                                    • 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型導入
                                      • 【Swift 3】関数内で非同期処理を行った後の値を返り値としたかった話【クロージャ】

                                        どもども。Reoです。 もうずっと前から理解不能だったヤツをようやく理解できた気がするのでメモがてら書いていきます。 クロージャが使える方からすれば、ど定番の定石ってヤツなのかもしれないです。 今回は「とある関数内で非同期処理を行った後の値を返り値としたい場合」にどうすれば良いのかという話をしていきます。 例えば以下のコードを実行してみます。(Playground上で動かしています) import UIKit func getCat() -> String { var str = "初期値" //非同期処理を行う let dispatchQueue = DispatchQueue(label: "Dispatch Queue", attributes: [], target: nil) dispatchQueue.async { //適当にちょっと重たい処理 for i in 0 ..<

                                          【Swift 3】関数内で非同期処理を行った後の値を返り値としたかった話【クロージャ】
                                        • 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
                                          • 相互再帰関数の型付きクロージャ変換

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

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

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

                                                Pythonのクロージャについて: 関数のスコープと、関数が第一級オブジェクトであることからちゃんと考える - Qiita
                                              • 【Python】クロージャ(関数閉方)とは - Qiita

                                                # 例1 def func(): x = 3 def add3(y): return y+x return add3 f = func() print(f(4)) # 7 func 関数は add3 関数を定義してそれを返します。 add3 関数は外側で定義された x を関数内で使用しています。 add3 関数をクロージャ、func 関数をエンクロージャといいます。 x は本来であれば func関数を抜けたところで消滅するfunc 関数におけるローカル変数です。 クロージャを生成したことで x が add3 関数内に記憶されて f(4) で呼び出した時に x が加算されます。 # 例2 def func(name): def add_msg(message): return "Hi " + name + ":" + message return add_msg f = func("Tana

                                                  【Python】クロージャ(関数閉方)とは - Qiita
                                                • 乳房再建以外の選択肢 フラットクロージャー

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

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

                                                  新着記事