Undefined values: Difference between revisions

From Rosetta Code
Content added Content deleted
(added ruby partially)
(→‎{{header|Perl}}: Be more specific in the printing.)
Line 10: Line 10:


# Check to see whether it is defined
# Check to see whether it is defined
print "var is undefined at first check\n" unless defined $var;
print "var contains an undefined value at first check\n" unless defined $var;


# Give it a value
# Give it a value
Line 17: Line 17:
# Check to see whether it is defined after we gave it the
# Check to see whether it is defined after we gave it the
# value "Chocolate"
# value "Chocolate"
print "var is undefined at second check\n" unless defined $var;
print "var contains an undefined value at second check\n" unless defined $var;


# Give the variable an undefined value.
# Give the variable an undefined value.
Line 26: Line 26:
# Check to see whether it is defined after we've explicitly
# Check to see whether it is defined after we've explicitly
# given it an undefined value.
# given it an undefined value.
print "var is undefined at third check\n" unless defined $var;
print "var contains an undefined value at third check\n" unless defined $var;


# Give the variable a value of 42
# Give the variable a value of 42
Line 33: Line 33:
# Check to see whether the it is defined after we've given it
# Check to see whether the it is defined after we've given it
# the value 42.
# the value 42.
print "var is undefined at fourth check\n" unless defined $var;
print "var contains an undefined value at fourth check\n" unless defined $var;


# Because most of the output is conditional, this serves as
# Because most of the output is conditional, this serves as

Revision as of 09:59, 28 November 2009

Task
Undefined values
You are encouraged to solve this task according to the task description, using any language you may know.

For languages which have an explicit notion of an undefined value, identify and exercise those language's mechanisms for identifying and manipulating a variable's value's status as being undefined

Perl

<lang perl>#!/usr/bin/perl -w use strict;

  1. Declare the variable

our $var;

  1. Check to see whether it is defined

print "var contains an undefined value at first check\n" unless defined $var;

  1. Give it a value

$var = "Chocolate";

  1. Check to see whether it is defined after we gave it the
  2. value "Chocolate"

print "var contains an undefined value at second check\n" unless defined $var;

  1. Give the variable an undefined value.

$var = undef;

  1. or, equivalently:

undef $var;

  1. Check to see whether it is defined after we've explicitly
  2. given it an undefined value.

print "var contains an undefined value at third check\n" unless defined $var;

  1. Give the variable a value of 42

$var = 42;

  1. Check to see whether the it is defined after we've given it
  2. the value 42.

print "var contains an undefined value at fourth check\n" unless defined $var;

  1. Because most of the output is conditional, this serves as
  2. a clear indicator that the program has run to completion.

print "Done\n";</lang>

Results in:

var is undefined at first check
var is undefined at third check
Done

PHP

<lang php><?php // Check to see whether it is defined if (!isset($var))

   echo "var is undefined at first check\n";

// Give it a value $var = "Chocolate";

// Check to see whether it is defined after we gave it the // value "Chocolate" if (!isset($var))

   echo "var is undefined at second check\n";

// Give the variable an undefined value. unset($var);

// Check to see whether it is defined after we've explicitly // given it an undefined value. if (!isset($var))

   echo "var is undefined at third check\n";

// Give the variable a value of 42 $var = 42;

// Check to see whether the it is defined after we've given it // the value 42. if (!isset($var))

   echo "var is undefined at fourth check\n";

// Because most of the output is conditional, this serves as // a clear indicator that the program has run to completion. echo "Done\n"; ?></lang>

Results in:

var is undefined at first check
var is undefined at third check
Done

Python

<lang python>

  1. Check to see whether it is defined

try: var except NameError: print "var is undefined at first check"

  1. Give it a value

var = "Chocolate"

  1. Check to see whether it is defined after we gave it the
  2. value "Chocolate"

try: var except NameError: print "var is undefined at second check"

  1. Give the variable an undefined value.

del var

  1. Check to see whether it is defined after we've explicitly
  2. given it an undefined value.

try: var except NameError: print "var is undefined at third check"

  1. Give the variable a value of 42

var = 42

  1. Check to see whether the it is defined after we've given it
  2. the value 42.

try: var except NameError: print "var is undefined at fourth check"

  1. Because most of the output is conditional, this serves as
  2. a clear indicator that the program has run to completion.

print "Done" </lang>

Results in:

var is undefined at first check
var is undefined at third check
Done

Ruby

<lang ruby>

  1. Check to see whether it is defined

puts "var is undefined at first check" unless defined? var

  1. Give it a value

var = "Chocolate"

  1. Check to see whether it is defined after we gave it the
  2. value "Chocolate"

puts "var is undefined at second check" unless defined? var

  1. I don't know any way of undefining a variable in Ruby
  1. Because most of the output is conditional, this serves as
  2. a clear indicator that the program has run to completion.

puts "Done" </lang>

Results in:

var is undefined at first check
Done