問題タブ [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.

0 投票する
4 に答える
4767 参照

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) または違いを表示するのに十分な解像度を持つ他のタイプを使用している場合)、すべての単一で同じ値が返されますこれにより、いかなる種類のループも終了しないことが保証されます。

0 投票する
3 に答える
606 参照

php - PHP の SPL: 配列を含むそのインターフェイスは、すべての配列プロパティをカバーしていますか?

必要な SPL インターフェースをすべて実装することで、実際の PHP 配列と事実上見分けがつかないクラスを作成することは可能でしょうか? 彼らは重要な何かを見逃していませんか?

より高度な Array オブジェクトを構築したいと考えていますが、配列をカスタム Array クラスに置き換えた場合に、あらゆる場所で配列を使用する既存のアプリを壊さないようにしたいと考えています。

0 投票する
5 に答える
579 参照

php - PHP で繰り返されるハードコードされたループと条件を削除する

この質問がC#について尋ねられたのを見ました。PHPについての回答が欲しいです。4 ページの foreach ループと条件を含む古いコードがいくつかあるため、読みにくく、従うのが難しくなっています。これをもっとOOにするにはどうすればよいですか?私は SPL 関数を使用することを考えていましたが、何が関係しているのかまだ完全には理解していません。

0 投票する
3 に答える
598 参照

php - 偽の配列としてのPHPオブジェクト

ArrayAccessIteratorCountableを実装するオブジェクトがあります。これにより、ほぼ完全なアレイマスキングが生成されます。$object[foo]オフセット( )でアクセスしたり、ループに入れforeachたり、その他多くのことを行うことができます。

しかし、Iteratorから必要なメソッドを実装したとしても、ネイティブの配列イテレーター関数(、、、、)にそれnext()を与えることはできません。PHPは、そのメンバー変数を頑固に反復しようとしているようであり、iterator-methodsを完全に無視しています。reset()current()key()

オブジェクトを残りの配列トラバース関数にフックするインターフェイスはありますか、それとも私が持っているものに固執していますか?

更新: IteratorAggregateも答えではないようです。-loopsで使用されforeachますが、基本的な配列イテレータ関数はメソッドを呼び出しません。

0 投票する
2 に答える
1409 参照

php - IteratorAggregate を使用したメンバー配列の反復処理

クラスがあり、特定の配列メンバーを反復できるようにしたいと考えています。簡単な検索を行ったところ、次のことがわかりましたIteratorAggregate

ArrayIteratorこれはうまく機能しますが、使用されるたびに新しいインスタンスが作成されませんforeachか?

したがって、イテレータ インスタンスをメンバーに格納する必要があると考えました。

問題は、反復子が$this->_arrayの最初の呼び出し中に のコピーを使用するgetIterator()ため、メンバーへの変更が後続の構成に反映されないことforeachです。

をサブクラス化し、メソッドをArrayIterator追加しsetArray($array)て呼び出してから に戻すべきだと思っていましgetIterator()たが、内部で使用している配列のメンバー名と、サブクラスで上書き可能かどうかがわかりません。

問題は、これは時期尚早または不必要な最適化ですか? いいえの場合、これを達成するための最良の方法は何ですか?

0 投票する
2 に答える
486 参照

php - PHP で使用する Iterator の実装とその理由は?

私は大規模な古いプロジェクトをリファクタリングしようとしていますが、気づいたことの 1 つは、さまざまな Iterator 実装の範囲です。

または、許可するStandardPHPLibrary (SPL)イテレータでさえも

非常に多くの異なるイテレータ (コレクションをループするための異なる方法) を持つことは、強いコード臭のように思えます。私はすべてを SPL にリファクタリングする傾向があります。これらの Iterator の実装のいずれかに魅力的な利点はありますか?それとも純粋に個人的な好みの問題ですか?

0 投票する
10 に答える
671 参照

php - コーダーに、独自の関数を作成する前に既存の関数を調べさせるにはどうすればよいでしょうか?

なぜこれほど多くの人がいまだに、標準ライブラリにあるものの粗末なバージョンを書いているのでしょうか? PHP 開発者を追いかけるのではなく、PHP SPLを読んでください。

0 投票する
2 に答える
1979 参照

php - 再帰メニューを操作する PHP SPL

カテゴリデータを持つデータベースにテーブルがあります:

各親は、親の行 ID を持つことができます。

たとえば、カテゴリ 3 は、カテゴリ 1 の子であるカテゴリ 2 の子です。

1 - このテクニックを操作するより良い方法はありますか? 2 - 私の実装では、1 つの SQL クエリですべての行をフェッチし、再帰関数を使用して多次元配列を作成し、マルチレベル foreach を使用してそれをループしてメニューなどを作成します。PHP SPL を使用するより良い方法が必要です。

完全なメニューまたは次のようなアイテムパスを作成したい:

各行にカテゴリレベルを保持するグリッドを作成します。

0 投票する
2 に答える
2308 参照

postgresql - EnterpriseDBにロードされている言語を見つける方法は?

EnterpriseDB(PL / pgsql、SPL、Java)にロードされている言語を見つけるにはどうすればよいですか?EnterpriseDBは、PostgreSQLにロードされた言語を見つける方法を知っている人がいれば、PostgreSQLの上に構築されています。同じように動作するはずです。

0 投票する
2 に答える
11177 参照

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.