並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 21 件 / 21件

新着順 人気順

イテレータの検索結果1 - 21 件 / 21件

  • Go1.23で導入予定のイテレータを完全理解する✌️

    イテレータについて完全理解するぞ!!!! 皆さん、Go1.23で導入予定のイテレータすごい楽しみですよね? 筆者はすごい楽しみです。Go1.18でジェネリクスが導入されて書き方の幅が広がったように、今回のイテレータもGoの書き方の幅を広げる機能になるのではと予想しております! https://github.com/golang/go/issues/61405 を見ると分かるように「add range over int, range over func」の機能はGo1.23のマイルストーンに積まれています。 「range over int」の機能についてはGo1.22で既に実装されています[1] 。「range over func」は来たるGo1.23に実装予定だと思われます。このブログでは、導入予定の型/関数とその使い方を深ぼっていきたいと思います! このブログの中では「range ove

      Go1.23で導入予定のイテレータを完全理解する✌️
    • Go1.22で登場するかも!?開発中の新機能イテレータを使ってみる!

      導入 Go1.21が先日リリースされ、スライスとマップに関する汎用的な処理を扱う標準パッケージ (slicesとmaps) が導入されましたが、 直前になって入る予定の maps.Keys が削除されてしまいました。 これはイテレータが実装予定のため maps.Keys 等はイテレータの実装を待ってからの方が良いと判断されたためだと思われます。 Go1.22で実装予定のイテレータとはどういう機能なのか、イテレータにすることで何が嬉しいのかがよく分からなかったので調べてみました。 この記事で知れること Goでのイテレータの実装がどのようになるのか (2023/08/30現在の実装) イテレータのメリット 事前準備 gotip は開発中のGoのコードを扱うことができるCLIツールで、以下のコマンドでインストールすることができます 2つ目のコマンドの末尾の数字 (510541) はGoのチームが

        Go1.22で登場するかも!?開発中の新機能イテレータを使ってみる!
      • イテレータによってGoはどう変わるのか - Gopher Day Taiwan 2024 基調講演登壇レポート

        はじめに 株式会社ナレッジワークの上田(@tenntenn)です。 2024年5月25日(土)に台湾で行われたGopherDay Taiwan 2024というGoのカンファレンスにキーノート(基調講演)スピーカーとして招待頂き参加しました。 登壇中の様子 筆者は過去に海外カンファレンスであるGopherCon(アメリカ)やGopherCon India(インド)にプロポーザルを提出し、登壇した経験があります。しかし、基調講演を行うのは初めてで英語の登壇も数年ぶりでした。 基調講演のお誘いは、前職(株式会社メルペイ)の同僚であるtenling(てんりん)さんからで、2023年のアメリカで行われたGopherConでお話したことがきっかけでした。 他の登壇者との写真。左からマネーフォワードのluccafortさん、メルペイのtenlingさん、筆者、LINEのDevRelで筆者と同じGoogl

          イテレータによってGoはどう変わるのか - Gopher Day Taiwan 2024 基調講演登壇レポート
        • イテレータによってGoはどう変わるのか

          イテレータによって Goはどう変わるのか Go Conference 2024

            イテレータによってGoはどう変わるのか
          • 【Python】イテレータが何となく分かる様になる - Qiita

            イテレータ イテレータとは? データの流れを表現するオブジェクト 要素を1つずつ取り出せるオブジェクト __iter__()メソッドから取り出されたオブジェクトがイテレータオブジェクト データがなくなると、StopIteration 例外を送出する イテレータオブジェクトを作ってみる fruits = ["apple", "orange", "grape"] iterator = iter(fruits) print(iterator) # <list_iterator object at 0x10fd7bf70>

              【Python】イテレータが何となく分かる様になる - 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 で並列処理する
              • イテレータによってGoはどう変わるのか by 拓也 上田 - AhaSlides

                Join this live engagement platform and have your say! Interact with live polls, fun quizzes, Q&As, word clouds, brainstorms and more!

                  イテレータによってGoはどう変わるのか by 拓也 上田 - AhaSlides
                • Pythonの__iter__()メソッド: イテレータの魔法を解き明かす - Python転職初心者向けエンジニアリングブログ

                  Pythonのiter()メソッド: イテレータの魔法を解き明かす Pythonには多くの便利な機能が備わっており、その中でもイテレータはデータ処理やループ構造を柔軟かつ効率的に行うための重要な概念です。イテレータの背後には__iter__()メソッドがあり、これがイテレータプロトコルを実装する鍵となっています。この記事では、Pythonの__iter__()メソッドに焦点を当て、具体例を交えながらその仕組みと利用法を詳細に解説します。 イテレータとは? イテレータは、データコレクションを順番にアクセスするためのオブジェクトです。リスト、タプル、辞書などの組み込みデータ型はもちろん、カスタムオブジェクトにもイテレータを実装することができます。イテレータを使うことで、大きなデータセットから順に要素を取り出す際や、特定の条件に合致する要素を見つけるなど、効果的なデータ処理が可能となります。 i

                    Pythonの__iter__()メソッド: イテレータの魔法を解き明かす - Python転職初心者向けエンジニアリングブログ
                  • 【JavaScript / Java】イテレータを実装する - Qiita

                    ※ この記事は 2022年4月 に作成したものを一部改稿したものです。 イテレータ (iterator) とは、プログラミング言語において配列やそれに類似するコレクションの各要素を取り出して繰り返し処理をするための仕組みで、「反復子」と訳されます。 イテレータには、コレクションが自身の各要素に対して繰り返し処理を呼び出す「内部イテレータ」(一般的に「for-each」などの名前で用意されることが多い) と、コレクションの各要素を順に参照するオブジェクトを生成しそれを用いて繰り返し処理を行う「外部イテレータ」がありますが、多くの場合、内部イテレータは内部で外部イテレータ (反復子オブジェクト) を生成して処理を行っています。 自作のオブジェクトで内部イテレータを利用できるようにするには、外部イテレータを生成するメソッドや関数を実装する必要があることが多いです。 Java のイテレータ まずは

                      【JavaScript / Java】イテレータを実装する - Qiita
                    • Go1.23で導入予定のイテレータを完全理解する✌️

                      イテレータについて完全理解するぞ!!!! 皆さん、Go1.23で導入予定のイテレータすごい楽しみですよね? 筆者はすごい楽しみです。Go1.18でジェネリクスが導入されて書き方の幅が広がったように、今回のイテレータもGoの書き方の幅を広げる機能になるのではと予想しております! https://github.com/golang/go/issues/61405 を見ると分かるように「add range over int, range over func」の機能はGo1.23のマイルストーンに積まれています。 「range over int」の機能についてはGo1.22で既に実装されています[1] 。「range over func」は来たるGo1.23に実装予定だと思われます。このブログでは、導入予定の型/関数とその使い方を深ぼっていきたいと思います! このブログの中では「range ove

                        Go1.23で導入予定のイテレータを完全理解する✌️
                      • Pythonのイテラブルとイテレータ 〜for文の秘密〜 - nikkie-ftnextの日記

                        はじめに 京都リサーチパークにて開催のYAPC::Kyotoでノベルティを受け取りし参加者の1人、nikkieです。 Pythonはクラスに特殊メソッド1を定義することで、インスタンスに特別な振る舞いをさせることができます。 今回は、インスタンスをfor文で使えるようにする実装まわりの自分の理解を整理します。 目次 はじめに 目次 イテラブル イテラブルを反復するとき イテレータ? イテレータはイテラブル コードで確認する「イテレータはイテラブル」 コレクション抽象基底クラスのドキュメントを参照した確認 シーケンスはイテラブル マッピングはイテラブル 脱線「コンテナオブジェクト」 まとめ P.S. ミノ駆動本_読書pyの予習 (終わりにに代えて) イテラブル 「反復可能オブジェクト」とも呼ばれます。 https://docs.python.org/ja/3/glossary.html#te

                          Pythonのイテラブルとイテレータ 〜for文の秘密〜 - nikkie-ftnextの日記
                        • 【Python】イテレータが何となく分かる様になる - Qiita

                          イテレータ イテレータとは? データの流れを表現するオブジェクト 要素を1つずつ取り出せるオブジェクト __iter__()メソッドから取り出されたオブジェクトがイテレータオブジェクト データがなくなると、StopIteration 例外を送出する イテレータオブジェクトを作ってみる fruits = ["apple", "orange", "grape"] iterator = iter(fruits) print(iterator) # <list_iterator object at 0x10fd7bf70>

                            【Python】イテレータが何となく分かる様になる - Qiita
                          • iterator(イテレータ)

                            iterator(イテレータ)について解説しています。 Pythonにおいてのiterator(イテレータ)は、リスト、タプル、辞書、セットなどの反復可能な(一度にひとつの要素ずつデータを返す)オブジェクトを、反復処理するために用いるオブジェクトで、__iter__()と__next__()の2つの特別なメソッドを実装します。これらをまとめて反復子プロトコル(iterator protocol)と呼ぶ。プロトコル(protocol)は手順などを定めた規格である。 なお、反復可能ということは、要素がなくなるまで、新しい要素を要求し続けることが可能です。

                              iterator(イテレータ)
                            • イテレータ | Programming Place Plus 新C++編

                              トップページ – 新C++編 このページの概要 このページでは、イテレータと呼ばれる仕組みについて取り上げます。イテレータを使うと、複数の要素が集まった構造に対するアクセスを、その構造が具体的に何であるかに関わらず、同じ方法、同じコードで行えるようになります。今のところ、std::vector と std::string でしか使いどころがないですが、今後、さまざまな構造が登場すると、この価値が明らかになります。このページではまず、イテレータの概要について取り上げ、より応用的な使い方は、この先のページで取り上げていきます。 以下は目次です。要点だけをさっと確認したい方は、「まとめ」をご覧ください。 イテレータ(反復子) イテレータの機能 auto constイテレータ 逆イテレータ const逆イテレータ まとめ 練習問題 参考リンク 更新履歴 イテレータ(反復子) 前のページで std:

                                イテレータ | Programming Place Plus 新C++編
                              • [キャッチアップ] イテレーターとジェネレーター

                                イテレーターは配列など、連続するデータを順に取り出すための仕組みを持ったオブジェクトのことで、 以下の要素を持つオブジェクトを返す next() メソッドを持つ。 value: 反復中の次の値 done: シーケンスの最後の値が既に消費されている場合 true となる値 配列(Array) 自体はイテレータではないが、 entries() メソッドによって配列をイテレータに変換することも可能で、この場合 value はインデックスと値のペアになる const array = ["a", "b", "c"]; const arrayIterator = array.entries(); console.log(arrayIterator.next().value); // [0, "a"] console.log(arrayIterator.next().value); // [1, "b"

                                  [キャッチアップ] イテレーターとジェネレーター
                                • Go1.23のイテレータを動かして学ぶ

                                  はじめに(おことわり) Goの次期バージョンである1.23でイテレータが導入されるようなので触ってみます。 今回の調査で使うGoのバージョンは1.23rc1です。公式ドキュメントからの情報に基づいていますが、RC版ですので、正式リリース時には変更が入っている可能性がありますので、注意が必要です。 イテレータとは イテレータは、連続したデータを1つずつ順番に処理していくための仕組みです。 イテレータをを使うと、スライスを使わずにシーケンシャルなデータを扱うことができます。 Goのイテレータは、コールバック関数を受け取る関数です。返り値はありません。コールバック関数を呼び出してデータを1つずつ渡していきます。 Goのイテレータ関数は次のようなシグネチャで定義されます。コールバック関数は慣習としてyieldと名付けられます。 コールバック関数は引数を1つ受け取るものと、2つ受け取るものがあります

                                    Go1.23のイテレータを動かして学ぶ
                                  • しゃくとり法を Rust のイテレーターで扱うライブラリを作ってみた - Qiita

                                    はじめに 競技プログラミングで、しゃくとり法 (Two-pointer) を使いたくなることがあります。 その場で短く実装しようとすると、いろいろな操作を 1つのループ中に書きがちです。うっかりバグらせてしまうことも多いです。 そこで、先人の実装を参考に、Rust で動くしゃくとり法ライブラリを作ってみました。 Haskellでしゃくとり法を攻略する 尺取り法の最強ライブラリを作った。 - isyumi_netブログ このライブラリが実用的かどうかは分かりません。「しゃくとり法を部品に分けて考える」ことの練習になるはずです。そんな紹介記事です。 2024年エイプリルフールのネタ記事でもあります。 本記事で行うこと しゃくとり法の簡単な紹介と、複数の関数に分ける考え方を示します Rust のイテレーターで扱うライブラリを 3通り実装します 「A. 有効な区間のみ返す」Iterator トレイ

                                      しゃくとり法を Rust のイテレーターで扱うライブラリを作ってみた - Qiita
                                    • foreachってイテレーター用のインターフェースなりを継承したオブジェクトを使う仕様が多いと思うのですが、そもそも、.forEachというコールバック関数を引数にとるメソッドを定義させれば良くない?

                                      回答 (6件中の1件目) コールバック関数を引数に取るメソッドで良いかどうか、というときに、一つとても重要な言語機能があります。それは「非局所リターン(non-local return)です。非局所リターンができるかどうかで、より多くのことが基本的な部品の組み合わせでできるかどうかが決まります。 例えば、あるコレクションの中から、条件を満たす要素を一つ返すメソッドが欲しいとしましょう。JavaScriptのみたいなものですね。 [code]anArray.find((a) => a > 10) [/code]JavaScriptのfind()は普通は"native code"になって...

                                        foreachってイテレーター用のインターフェースなりを継承したオブジェクトを使う仕様が多いと思うのですが、そもそも、.forEachというコールバック関数を引数にとるメソッドを定義させれば良くない?
                                      • 【Python】イテレータ・ジェネレータからN件ずつ取得する方法 - Qiita

                                        はじめに みずほリサーチ&テクノロジーズの@fujineです。 リストや辞書のように、要素を1つずつ取得可能なオブジェクトのことを、Pythonではイテラブルオブジェクトと呼びます。 for文にイテラブルオブジェクトを使用すると、以下のように1件ずつ取得できます。

                                          【Python】イテレータ・ジェネレータからN件ずつ取得する方法 - Qiita
                                        • メモリ効率で比較するスライスとイテレータ in Go1.23

                                          Go1.23で導入が予定されているイテレータの基本事項について知りたい方は、まずこちらの記事を一読することをお勧めします。 はじめに Go1.23でイテレータの導入が予定されています。イテレータは、シーケンシャルなデータを扱うという点でスライスと似ています。しかし、イテレータはスライスとは異なり、シーケンシャルなデータを処理していく過程で、すべてのデータをメモリ上に展開しなくてもよいという特徴を持っています。簡単なベンチマークテストを作って、スライスとイテレータのメモリ使用量を比較し、その特徴を確認します。 スライスとイテレータのメモリ使用量の仮説 ここでは特定の条件でスライスの要素をフィルタする関数を考えます。フィルタした結果をスライスで返す関数と、イテレータで返す関数の2つを考え、比較します。 それぞれの関数の実装は次のとおりです。sliceFilterがスライス版、iterFilte

                                            メモリ効率で比較するスライスとイテレータ in Go1.23
                                          • 特殊なイテレータを使おう - Qiita

                                            はじめに みなさんこんにちは。 通常イテレータといえば、まず思いつくのはコンテナの要素を順々にたぐるアレだと思いますが、STLにはそうでないイテレータもあります。それはイテレータによってアルゴリズムを汎用的に書けるようになったことで可能になった応用的なイテレータですが、非常に有用な反面とっつきにくいイメージがあります。そこで、この記事ではSTLに存在する特殊なイテレータをSTLに存在する通常のアルゴリズムを使って紹介していきたいと思います。 reference: http://en.cppreference.com/w/cpp/iterator http://en.cppreference.com/w/cpp/algorithm 通常のイテレータ イテレータがゲシュタルト崩壊したときに見てください。 std::vector< int > vec { 1, 2, 3, 4, 5 }; typ

                                              特殊なイテレータを使おう - Qiita
                                            1