問題タブ [spl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
informix - Informix SPL プロシージャ内からのスリープ
Informix SPL ルーチン内から従来の sleep() システム コールと同等のセマンティックを実行する最善の方法は何ですか? 言い換えれば、単純に N 秒間 (またはミリ秒など、数秒でも問題ありません) "一時停止" します。新しい (おそらく私が作成した) C コードやその他のライブラリを Informix サーバーにリンクする必要のないソリューションを探しています。これは、純粋に SPL から実行できるものでなければなりません。IDS 10 または 11 のソリューションで問題ありません。
@RET - 「明らかな」答えは私には明らかではありませんでした! SYSTEM コマンドについて知りませんでした。ありがとうございました!(そして、はい、私はあなたが私だと思う男です。)
はい、デバッグのみを目的としています。残念ながら、SPL 内の CURRENT は、呼び出しのエントリで設定された同じ値を常に返します。
「EXECUTE FUNCTION (または EXECUTE PROCEDURE) ステートメントが呼び出す SPL 関数内からの CURRENT への呼び出しは、SPL 関数の開始時にシステム クロックの値を返します。」
— IBM Informix SQL ガイド
CURRENT を独自のサブルーチンにラップしても役に立ちません。ラッパーへの最初の呼び出しで異なる回答が得られますが (YEAR TO FRACTION(5) または違いを表示するのに十分な解像度を持つ他のタイプを使用している場合)、すべての単一で同じ値が返されますこれにより、いかなる種類のループも終了しないことが保証されます。
php - PHP の SPL: 配列を含むそのインターフェイスは、すべての配列プロパティをカバーしていますか?
必要な SPL インターフェースをすべて実装することで、実際の PHP 配列と事実上見分けがつかないクラスを作成することは可能でしょうか? 彼らは重要な何かを見逃していませんか?
より高度な Array オブジェクトを構築したいと考えていますが、配列をカスタム Array クラスに置き換えた場合に、あらゆる場所で配列を使用する既存のアプリを壊さないようにしたいと考えています。
php - PHP で繰り返されるハードコードされたループと条件を削除する
この質問がC#について尋ねられたのを見ました。PHPについての回答が欲しいです。4 ページの foreach ループと条件を含む古いコードがいくつかあるため、読みにくく、従うのが難しくなっています。これをもっとOOにするにはどうすればよいですか?私は SPL 関数を使用することを考えていましたが、何が関係しているのかまだ完全には理解していません。
php - 偽の配列としてのPHPオブジェクト
ArrayAccess、Iterator、Countableを実装するオブジェクトがあります。これにより、ほぼ完全なアレイマスキングが生成されます。$object[foo]
オフセット( )でアクセスしたり、ループに入れforeach
たり、その他多くのことを行うことができます。
しかし、Iteratorから必要なメソッドを実装したとしても、ネイティブの配列イテレーター関数(、、、、)にそれnext()
を与えることはできません。PHPは、そのメンバー変数を頑固に反復しようとしているようであり、iterator-methodsを完全に無視しています。reset()
current()
key()
オブジェクトを残りの配列トラバース関数にフックするインターフェイスはありますか、それとも私が持っているものに固執していますか?
更新: IteratorAggregateも答えではないようです。-loopsで使用されforeach
ますが、基本的な配列イテレータ関数はメソッドを呼び出しません。
php - IteratorAggregate を使用したメンバー配列の反復処理
クラスがあり、特定の配列メンバーを反復できるようにしたいと考えています。簡単な検索を行ったところ、次のことがわかりましたIteratorAggregate
。
ArrayIterator
これはうまく機能しますが、使用されるたびに新しいインスタンスが作成されませんforeach
か?
したがって、イテレータ インスタンスをメンバーに格納する必要があると考えました。
問題は、反復子が$this->_array
の最初の呼び出し中に のコピーを使用するgetIterator()
ため、メンバーへの変更が後続の構成に反映されないことforeach
です。
をサブクラス化し、メソッドをArrayIterator
追加しsetArray($array)
て呼び出してから に戻すべきだと思っていましgetIterator()
たが、内部で使用している配列のメンバー名と、サブクラスで上書き可能かどうかがわかりません。
問題は、これは時期尚早または不必要な最適化ですか? いいえの場合、これを達成するための最良の方法は何ですか?
php - PHP で使用する Iterator の実装とその理由は?
私は大規模な古いプロジェクトをリファクタリングしようとしていますが、気づいたことの 1 つは、さまざまな Iterator 実装の範囲です。
または、許可するStandardPHPLibrary (SPL)イテレータでさえも
非常に多くの異なるイテレータ (コレクションをループするための異なる方法) を持つことは、強いコード臭のように思えます。私はすべてを SPL にリファクタリングする傾向があります。これらの Iterator の実装のいずれかに魅力的な利点はありますか?それとも純粋に個人的な好みの問題ですか?
php - コーダーに、独自の関数を作成する前に既存の関数を調べさせるにはどうすればよいでしょうか?
なぜこれほど多くの人がいまだに、標準ライブラリにあるものの粗末なバージョンを書いているのでしょうか? PHP 開発者を追いかけるのではなく、PHP SPLを読んでください。
php - 再帰メニューを操作する PHP SPL
カテゴリデータを持つデータベースにテーブルがあります:
各親は、親の行 ID を持つことができます。
たとえば、カテゴリ 3 は、カテゴリ 1 の子であるカテゴリ 2 の子です。
1 - このテクニックを操作するより良い方法はありますか? 2 - 私の実装では、1 つの SQL クエリですべての行をフェッチし、再帰関数を使用して多次元配列を作成し、マルチレベル foreach を使用してそれをループしてメニューなどを作成します。PHP SPL を使用するより良い方法が必要です。
完全なメニューまたは次のようなアイテムパスを作成したい:
各行にカテゴリレベルを保持するグリッドを作成します。
postgresql - EnterpriseDBにロードされている言語を見つける方法は?
EnterpriseDB(PL / pgsql、SPL、Java)にロードされている言語を見つけるにはどうすればよいですか?EnterpriseDBは、PostgreSQLにロードされた言語を見つける方法を知っている人がいれば、PostgreSQLの上に構築されています。同じように動作するはずです。
php - after using $files = new DirectoryIterator() in PHP, how do you sort the items?
We can get the files in a directory in PHP by
after that is there an easy way to sort the items in a particular order for displaying them? thanks.