タグ

nullableに関するkiyo_hikoのブックマーク (6)

  • Ruby でも Optional Chaining がしたいんじゃ〜! - Qiita

    もう type = database.first ? database.first.type : nil とかみたいに書くのはつかれたお……。 Swift みたいに type = database.first?.type って書きたいお……。 というわけでなるべくお手軽に実装。 (NilClass で method_missing して nil を返すと Swift の実装に近づくが、確実にデバッグで死ぬのでおすすめしない) 2015/12/09 追記。 Ruby 2.3.0 から safe navigation operator が実装されましたね。(参考) class Object def _? self end end class NilClass class Ghost < BasicObject def method_missing(*argv) nil end end def

    Ruby でも Optional Chaining がしたいんじゃ〜! - Qiita
    kiyo_hiko
    kiyo_hiko 2016/03/11
    "Ruby 2.3.0 から safe navigation operator が実装されました" とてもよさそう
  • Chapter5 null許容型(4/7) - @IT

    5.4 null合体演算子 null許容型を使い始めると、どうしても「nullでない場合には」という条件判定を書く機会が増えてしまう。 それをすべてif文で書いていては、コードが膨らんできりがない(リスト5.4参照)。 using System; class Program { static void Main(string[] args) { int? a = 123; if (a != null) { Console.WriteLine("Route {0}", a * 2); } else { Console.WriteLine("Route 0"); } // 出力:Route 246 } }

    kiyo_hiko
    kiyo_hiko 2015/07/21
    null合体演算子。条件演算子同様、nullableな式が値を持っていた場合他方の式を評価しない
  • null許容値型(Nullable&lt;T&gt; 型)

    概要 通常、「値型」は null 値(無効な値)を取れません。 ところが、データベース等、一部のアプリケーションでは、 値型の通常の(有効な)値と null(無効な値)を取るような型が欲しいときがあります。 そこで、C# 2.0 では、null 許容型(Nullable 型)という特殊な型が用意されました。 Ver. 8.0 C# 8.0 では、参照型についても ? の有無で null の可否を指定する機能が追加されました。 この機能を指して null 許容参照型(nullable reference type)と言ったりします。 この null 許容参照型と区別する意味で、項で説明している機能(C# 2.0 時代には唯一の null 許容型だった)を指して、null 許容値型(nullable value type)と呼ぶこともあります。 ポイント 値型 T に対して、T? をいう書き

    null許容値型(Nullable&lt;T&gt; 型)
    kiyo_hiko
    kiyo_hiko 2015/07/08
    nullを許容しない値型変数を?で修飾する。System.Nullable<T>型になる。HasValue : boolプロパティとValue : Tプロパティ持つ。x = new int?(123);的に書く。アリティ2の演算の一部でnullが伝播する
  • VB.NETで変数の型宣言の後に?(クエスチョンマーク)がついたコードを見かけたのですが、これはどのような意味をもつのでしょう... - Yahoo!知恵袋

    VB.NETで変数の型宣言の後に?(クエスチョンマーク)がついたコードを見かけたのですが、 これはどのような意味をもつのでしょうか? Dim i As Integer? のような形です。 VB.NETで変数の型宣言の後に?(クエスチョンマーク)がついたコードを見かけたのですが、 これはどのような意味をもつのでしょうか? Dim i As Integer? のような形です。

    VB.NETで変数の型宣言の後に?(クエスチョンマーク)がついたコードを見かけたのですが、これはどのような意味をもつのでしょう... - Yahoo!知恵袋
    kiyo_hiko
    kiyo_hiko 2015/07/08
    ?付きの型ってnullableな型なのか
  • Java 8 "Optional" ~ これからのnullとの付き合い方 ~ - Qiita

    Java8で新たに追加されたクラスにjava.util.Optionalがあります。 Optionalを使用することで、プログラムの堅牢性を高めたり、煩雑な記述を減らすことが期待されます。 Optionalとは? Optionalは値をラップし、 その値がnullかもしれない ことを表現するクラスです。 使い方 メソッドgetHoge()はnullを返す場合があるとします。 これまでなら次のような感じでnullチェックをしていたと思います。 String hoge = getHoge(); // hogeはnullかも if (hoge != null) { // nullチェック System.out.println(hoge.length()); // hogeがnullじゃないのでlengthメソッドを呼ぶ } nullかもしれない変数hogeのメソッドを呼ぶ場合、事前にnullチェ

    Java 8 "Optional" ~ これからのnullとの付き合い方 ~ - Qiita
  • VS 2005で新しくなったVisual BasicとC#の新機能を総括(2/3) - @IT

    ■Nullable型(VB 2005、C# 2.0共通) 従来、int型(VBではInteger型)のような値型では、参照型のようにNull値(C#ではnull、VBではNothing)をセットすることはできなかった(正確には、VB.NETではNothing値をセットすること自体は可能であったが、内部的にはその値型に対応するデフォルト値に変換されるため、Nothingを検出することはできなかった)。つまり、(例えば)int型における0を初期化済みの0であるか、未初期化状態であるのかを判定する手段がなかったのだ(判定するには、変数1つについて1つのフラグ変数を必要とした)。 そこで新たに導入されたのが、Nullable型だ。Nullable型を利用することで、Null値を代入することができる値型を扱うことが可能になる。Nullable型の変数に値が格納されているかどうかは、Nullable.

    kiyo_hiko
    kiyo_hiko 2012/03/06
    「int? i; // 「Nullable<int> i;」と同じ」…なんだかMaybeみたいだ
  • 1