問題タブ [bless]
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.
perl - 太いコンマで祝福するperl
perlblessに記載されているように、perl bless は 1 つまたは 2 つの arg を受け取ることができることを知っています。しかし、以下のコードで太いカンマを使用して何を祝福しているのかわかりませんか? と同じbless \$value,$class;
ですか?
perl - Perl bless オブジェクトのリクエストデータから値を取得する方法
私はRPC::XMLを使用しており、以下のコードとリクエストxmlを使用してリクエストxmlを解析しています。
リクエスト xml:
オブジェクトデータを取得しました:
print Dumper($parse_data->args);
実行して args オブジェクト データの下に取得した後:
祝福( {
この args オブジェクト データから値を取得するにはどうすればよいでしょうか。助けてください!
perl - Perl での実装を無効にしますか?
多くの Perl 開発者が知っているように、unblessはオブジェクトから祝福を取り除くために使用されます。
その実装を調査することで、内部でどのように機能するかを理解しようとしています。パッケージData::Structure::Utilで実装
を確認しようとしました。ソースは次のとおりです。
unbless_xs
サブ実装/ソースはどこにありますか?
json - JSON を perl クラスとプライベート プロパティに祝福する
次のような Json 構造があります。
私は perl Json モジュールを使用しており、返された Json を次のようなクラスに祝福できます。
my $result = bless($json->{output},'MyClass')
ここまでは順調です。これで、MyClass.pm 内にメソッドを作成して、field1、field2 などの値を返すことができるようになりました。つまり、bless を介して、オブジェクトのプロパティを設定するための直接アクセスができるようです。しかし、危険なのは、コードの後半で次のようなこともできることです。
$result->{field1} = "anythingIwant";
...これはあまり良くありません。プライバシーを示すようにプロパティを設定できることは知ってい_field1
ますが、それは私が行うことを妨げません$result->{_field1} = "anythingIwant";
では、この状況を処理するための perl のベスト プラクティス アプローチはありますか? つまり、Json の出力をクラスに bless してデシリアライズできるのは非常に便利ですが、危険にも思えます。私は、bless を引き続き使用できると同時に、クライアント コードが上記の anyIwant シナリオを実行できないようにする、両方の長所を探しています。私はMoose、InsideOutなどを調べましたが、それらのいずれかが法案に適合するのか、それとも単に複雑になるだけなのかはよくわかりません.
macos - OSX 10.11 El Capitan - ブート デバイス プロパティの設定が機能しない
デュアルブート システムで作業しており、次の AppleScript を使用して起動ボリュームを設定しました。
El Capitan 以降、スクリプトが機能しなくなり、スクリプト エディターに次のエラー メッセージが表示されます。
bless コマンドに新しい変更はありますか?
助けてくれてありがとう。
hex - Bless hex editor - オフセット表示
Bless hex エディタでオフセットのデフォルトを 16 進数から 10 進数に変更するにはどうすればよいですか? 私はすべての設定を試しましたが、何もしませんでした!
perl - Perl でハッシュを受け入れることができるように、エラー文字列を返すメソッドを変更しようとしています。
現在の方法は次のとおりです。
このメソッドは基本的にエラー文字列を返しますが、新しいエラー構造を取り、エラー ハッシュから文字列を返すこともできるように変更したいと考えています。bless の使い方がわかりません。%params は実行時パラメーターを受け入れますが、今のところ無視できます。
エラー構造は次のとおりです。
start にいくつかのコードを投げ始めたところです。これは貧弱な試みですが、これが new() メソッドの変更を開始した方法です。
bless についての私の理解は、それがハッシュ参照のオブジェクトになるということです。エラーは定数リストに保持されます。実行方法の例を次に示します。
更新:ソリューション @simbabque の単体テストを試みていますが、エラー メッセージ文字列ではなく、戻り値として空の文字列を取得し続けます。たぶん、正しく設定されていないのは私のテストですか?以下は、私が作成したテストの例です。
mongodb - Perl MongoDB ドライバーで upserted_id プロパティにアクセスしようとすると、役に立たない HASH (0x3572074) が返されます
SQL データベース ($row 変数) からテーブルを取得し、次のように MongoDB の更新を試みる Perl スクリプトがあります。
私のクライアントは、メディエーターに送信される ICS スタイルのカレンダーの招待状を希望しています。したがって、更新または挿入が行われたかどうかを知る必要があります。MongoDB::UpdateResult のドキュメントは、これがそのようなプロパティにアクセスする方法であることを暗示しています。
だから私は試しました:
このコードの後 $id は次のようになります。
これらは実際のIDですか?その場合、Mongo の ObjectId 型にキャストできる 16 進数の文字列に変換するにはどうすればよいですか? 私はperlについてまったく何も知らないことに注意してください。より多くのコードが関連する場合は、リクエストに応じてセクションをできるだけ早く投稿します。300 行あるので、すぐにファイル全体を含めたくありませんでした。
編集:誰かがこれを提案する前に、 update の代わりに update_one を使用するとまったく同じ結果が返されることを言及する必要があります。