Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 5ed1805d1e2d61000670078f

C# data class to F# record

Converting from C# to F# is not hard, but requires some manual labor. Here you should convert from a C# data class to a F# record.

Start file
public enum State
{
  Active, Inactive
}

public struct Price
{
  public decimal Amount { get; set; }
  public decimal Vat { get; set; }
}

public class Ticket
{
  public State State { get; set; }
  public int Count { get; set; }
  public Price Price { get; set; }
  public DateTime DepartureDate { get; set; }
  public DateTime? ReturnDate { get; set; }
}
End file
type State = Active | Inactive

type Price = {
  amount: decimal
  vat: decimal
}

type Ticket = {
  state: State
  count: int
  price: Price
  departureDate: DateTime
  returnDate: DateTime option
}

View Diff

1,4c1
< public enum State
< {
<   Active, Inactive
< }
---
> type State = Active | Inactive
6,9c3,5
< public struct Price
< {
<   public decimal Amount { get; set; }
<   public decimal Vat { get; set; }
---
> type Price = {
>   amount: decimal
>   vat: decimal
12,18c8,13
< public class Ticket
< {
<   public State State { get; set; }
<   public int Count { get; set; }
<   public Price Price { get; set; }
<   public DateTime DepartureDate { get; set; }
<   public DateTime? ReturnDate { get; set; }
---
> type Ticket = {
>   state: State
>   count: int
>   price: Price
>   departureDate: DateTime
>   returnDate: DateTime option

Solutions by @derekschrock:

Unlock 1 remaining solutions by signing in and submitting your own entry
Created by: @rqAbrahamsson

18 active golfers, 79 entries

Solutions by @derekschrock:
83
#14 - Derek Schrock / @derekschrock

05/29/2020 at 10:26PM