少し気になったのでお尋ねしたいのですが、
プログラミング言語すべて共通のことで、文字列型の変数を値がない状況で初期化したいとき、
ブランク(''あるいは"")を使用しますか?それともnull(nil)を使いますか?
あるいはどちらかが推奨などはありますか?
ご意見をお聞かせください。
回答4件
あなたの回答
tips
プレビュー
Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。
Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。
Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
0グッド
0クリップ
投稿2019/08/27 11:59
少し気になったのでお尋ねしたいのですが、
プログラミング言語すべて共通のことで、文字列型の変数を値がない状況で初期化したいとき、
ブランク(''あるいは"")を使用しますか?それともnull(nil)を使いますか?
あるいはどちらかが推奨などはありますか?
ご意見をお聞かせください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/27 12:00
退会済みユーザー
2019/08/27 13:01
回答4件
0
ベストアンサー
動的型付けの言語だと、そもそも「文字列型の変数」がなかったりするので、その場合は議論が成立しません。
静的型付けでも、別にどちらが良くてどちらが駄目という話はないので、お作法とか好みの話になってしまうと思います。どちらを使うにせよ、初期化した以上はそれに応じて適切に取り扱ってください。どちらの方が取り扱いやすいかは、ケースバイケースなのでよく考えてください。
(余談)うっかりするとこうなります。
投稿2019/08/27 12:10
編集2019/08/27 12:23総合スコア30933
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
プログラミング言語すべて共通のことで
共通しません。いちばん極端な例ですが、OracleのSQLではNULL
と空文字列の区別がなされません。
投稿2019/08/27 12:06
総合スコア145183
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/27 12:17
2019/08/27 12:21 編集
2019/08/27 12:25
2019/08/27 12:28 編集
0
ブランク(''あるいは"")を使用しますか?それともnull(nil)を使いますか?
目的次第でしょう。
ブランクは、参照したときに、エラーとならないですが、nullは、エラー(例外発生)になります。ただ、ブランクは、一応、文字列なので、コストが発生する。
その辺で、使い分けかと思います。
まあ、プロジェクト次第では、コーディングルールがあっても不思議では無いので、ある場合は、それに従う。
投稿2019/08/27 12:03
総合スコア6383
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/27 12:22
0
無意味な初期化はしないのであれば、初期化する値は自明です。
代入する前に参照することがあるなら、そのときに入っていてほしい値はプログラムにより自明のはずです。
代入する前に参照することがないにもかかわらず、無意味に初期化するのであれば、どんな値でもいいです。まあ、するはずのない参照をうっかりしてしまった時のために、参照時に例外が発生する値があればそれがいいかと思います。
初期化が不要な場合にもint i;
書くのでなく、反射的にint i=0;
と書かずにいられない病に罹っているなら、直したほうがいいです。読む人に優しくないからです。
まあ、今は最初の代入時点で宣言できる言語が多いと思うので、そういう言語ではこういうケースはないかと思いますが。
投稿2019/08/27 12:49
総合スコア84499
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。