タグ付けされた質問 「return-value」

戻り値は、returnステートメントの評価結果です。

24
nullの悪いデザインを返していますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する メソッドから返されたnull値をチェックするのは悪い設計だと言う声を聞いたことがあります。その理由を教えてください。 疑似コード: variable x = object.method() if (x is null) do something
127 oop  null  return-value 

5
シェルスクリプトで呼び出された関数からの戻り値
シェルスクリプトで呼び出された関数から値を返したいのですが。構文が足りない可能性があります。グローバル変数を使ってみました。しかし、それもうまくいきません。コードは次のとおりです。 lockdir="somedir" test() { retval="" if mkdir "$lockdir" then # Directory did not exist, but it was created successfully echo >&2 "successfully acquired lock: $lockdir" retval="true" else echo >&2 "cannot acquire lock, giving up on $lockdir" retval="false" fi return retval } retval=test() if [ "$retval" == "true" ] then echo …

8
main()からEXIT_SUCCESSまたは0を返す必要がありますか?
簡単な質問ですが、私は相反する答えを見続けています。C++プログラムのメインルーチンが戻るの0か、それともEXIT_SUCCESS? #include <cstdlib> int main(){return EXIT_SUCCESS;} または int main(){return 0;} それらはまったく同じものですか?でEXIT_SUCCESSのみ使用する必要がありexit()ますか? 私は考えたEXIT_SUCCESS他のソフトウェアは、障害としてゼロを考えるすることもできますので、より良い選択肢になるだろうが、私はまた、あなたが戻る場合と聞き0、コンパイラはとにかく異なる値に変化させることができます。
124 c++  c  return-value  main 

8
MATLAB関数の一部の戻り値をエレガントに無視する方法は?
それn-1より前のすべての戻り値に対してダミー変数を作成する必要なしに、関数から「n番目」の戻り値を取得することは可能ですか? たとえば、MATLABに次の関数があるとします。 function [a,b,c,d] = func() a = 1; b = 2; c = 3; d = 4; ここで、3番目の戻り値のみに関心があると仮定します。これは、ダミー変数を1つ作成することで実現できます。 [dummy, dummy, variableThatIWillUse, dummy] = func; clear dummy; しかし、これはちょっと醜いと思います。次のようなことができると思いますが、できません。 [_, _, variableThatIWillUse, _] = func; [, , variableThatIWillUse, ] = func; variableThatIWillUse = func(3); variableThatIWillUse = func()(3); これを行うエレガントな方法はありますか? これまでのところ、最善の解決策は、単にvariableThatIWillUseダミー変数として使用することです。これにより、ワークスペースを汚染する(またはクリアする必要がある)実際のダミー変数を作成する必要がなくなります。要するに、解決策はvariableThatIWillUse、興味深いものまでのすべての戻り値にfor を使用することです。後の戻り値は単に無視できます。 [variableThatIWillUse, …


5
Voidオブジェクトを返す
Voidそれがプリミティブではないときに、型を返す正しい方法は何ですか?例えば。現在、以下のようにnullを使用しています。 interface B<E>{ E method(); } class A implements B<Void>{ public Void method(){ // do something return null; } }

5
単一値コンテキストの複数の値
Goでのエラー処理が原因で、私は多くの場合、複数の値の関数を使用します。これまでのところ、これを管理する方法は非常に面倒で、よりクリーンなコードを作成するためのベストプラクティスを探しています。 次の関数があるとします。 type Item struct { Value int Name string } func Get(value int) (Item, error) { // some code return item, nil } 新しい変数をitem.Valueエレガントに割り当てるにはどうすればよいですか。エラー処理を導入する前に、私の関数が返されたitemだけで、これを行うことができます: val := Get(1).Value 今私はこれをします: item, _ := Get(1) val := item.Value 最初に返された変数に直接アクセスする方法はありませんか?

8
C ++でstd :: vectorを返す効率的な方法
関数でstd :: vectorを返すときにコピーされるデータの量、およびstd :: vectorを(ヒープ上の)フリーストアに配置して、代わりにポインターを返す最適化の大きさは次のとおりです。 std::vector *f() { std::vector *result = new std::vector(); /* Insert elements into result */ return result; } よりも効率的: std::vector f() { std::vector result; /* Insert elements into result */ return result; } ?


9
Eclipseでデバッグ中に戻る前に戻り値を確認できますか?
行が実行された後、命令ポインターが呼び出し元の関数に戻る前に、メソッドの戻り値を確認できますか? 私は変更できないコードをデバッグしています(読み取り:サードパーティのライブラリを再コンパイルしないでください)。ソースがないコードにジャンプしたり、return式に副作用があるため、[ 表示 ]タブで式を実行するだけです。 多くの場合、戻り値は複合ステートメントで使用されるため、変数ビューには値が表示されません(したがって、制御が呼び出し元の関数に戻る前に結果を確認したい)。 更新:ステートメントに副作用があるため、式ビューアを使用できません。

4
すべてのJavaScript関数は値を返す必要がありますか?
私はNetbeansを使用して、各関数にプロのようなコメントを追加しています。それで、それぞれを最初に開始し/**、次にを押しEnterて、Netbeansに以下の機能のデフォルトのコメントスキームを実行させます。 これまで私はこれをPHP言語にのみ使用してきました。この場合@returns {type}、次のPHP関数に実際にreturnステートメントが含まれている場合、Netbeansは常にコメントスキームにのみ一部を追加していました。いわゆる「プロシージャ」(値を返さない関数)では、この部分がありませんでした。 今日、私はJavascript関数に対して同じことを試みましたが、Netbeans @returns {undefined}はコメントスキームに一部を追加しましたが、次の関数は何も返しません。 これは私を混乱させました。Netbeansは、すべてのJavascript関数が何かを返す必要があるとこのように提案していますか?私は何をすべきか?コメントスキームの一部を無視(または削除)するか、提案に従って(これが提案である場合)、return false;そのような関数の最後に追加しますが、私にとっては役に立ちませんか?

8
検索結果が見つからない場合は「NULL」オブジェクトを返します
私はC ++にかなり慣れていないので、学んでいる間、多くのJava主義で設計する傾向があります。とにかく、Javaでは、特定のパラメーターに一致するTからオブジェクトを返す 'search'メソッドを含むクラスがあるCollection< T >場合、そのオブジェクトを返しnullます。オブジェクトがコレクション内に見つからなかった場合は、を返します。次に、私の呼び出し関数でチェックするだけですif(tResult != null) { ... } C ++では、nullオブジェクトが存在しないと値を返せないことがわかりました。オブジェクトが見つからなかったことを呼び出し元の関数に通知するタイプTの「インジケーター」を返したいだけです。例外的な状況ではないので、例外を投げたくありません。 これは私のコードが今どのように見えるかです: class Node { Attr& getAttribute(const string& attribute_name) const { //search collection //if found at i return attributes[i]; //if not found return NULL; // what should this be? } private: vector<Attr> attributes; } どのように変更すれば、そのようなマーカーを付けることができますか?


1
前の式の結果を変数に割り当てる方法は?
Rのインタラクティブコンソールを使用していて、次のようなことをしたとします。 long_running_command() その長時間実行されるコマンドは値を返しますが、その値を破棄するのではなく、変数に割り当てたいと思ったところです。では、コマンドを再度実行せずにその値を取得するにはどうすればよいですか?このようなコマンドはありますか? result = get_last_return_value()

9
戻り値を使用してストアドプロシージャを呼び出す
Наэтотвопросестьответынаスタックオーバーフローнарусском:Какпривызовехранимойпроцедурыполучитьзначениепереданное в RETURN C#Windowsアプリケーションからストアドプロシージャを呼び出そうとしています。ストアドプロシージャはSQLServer 2008のローカルインスタンスで実行されています。ストアドプロシージャを呼び出すことはできますが、ストアドプロシージャから値を取得することはできません。このストアドプロシージャは、シーケンス内の次の番号を返すことになっています。私はオンラインで調査を行い、私が見たすべてのサイトはこのソリューションが機能していることを示しています。 ストアドプロシージャコード: ALTER procedure [dbo].[usp_GetNewSeqVal] @SeqName nvarchar(255) as begin declare @NewSeqVal int set NOCOUNT ON update AllSequences set @NewSeqVal = CurrVal = CurrVal+Incr where SeqName = @SeqName if @@rowcount = 0 begin print 'Sequence does not exist' return end return @NewSeqVal end ストアドプロシージャを呼び出すコード: SqlConnection conn = …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.