|
//
// MarkupScript
// Author: Tom Englert
// Contact: mail@tom-englert.de
// Copyright (C) 2010 tom-englert.de
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace MarkupScript
{
/// <summary>
/// The Read expression.
/// Read all content from a file.
/// Read a line from the console if FileName is empty.
/// </summary>
public class Read : Statement, IExpression
{
/// <summary>
/// Optional name of the file to read from. Read from console if file name is empty.
/// </summary>
public IExpression FileName { get; set; }
public override object OnEvaluate()
{
string fileName = ToString(TryEvaluate(FileName));
if (string.IsNullOrEmpty(fileName))
{
return Console.ReadLine();
}
else
{
try
{
return File.ReadAllText(fileName);
}
catch (IOException)
{
return string.Empty;
}
}
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.