В C #, если у меня было определение виджета, скажем:
class widget
{
public string PrettyName() { ... do stuff here }
}
, и я хотел бы разрешить легкую печать списка виджетов, я мог бы сделать это:
namespace ExtensionMethods
{
public static PrintAll( this IEnumerable<Widget> widgets, TextWriter writer )
{
foreach(var w in widgets) { writer.WriteLine( w.PrettyName() ) }
}
}
Как мне добиться чего-то подобного с типом записи и коллекцией (List или Seq предпочтительно в F #).Я хотел бы иметь список Widgest и иметь возможность вызывать функцию прямо в коллекции, которая сделала что-то вроде этого.Предположим (так как это F #), что функция не будет изменять состояние коллекции, к которой она присоединена, а возвращает какое-то новое значение.