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

The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!

Check out these helpful resources to improve your Vim skills... Game on.

Unlock 10 remaining solutions by signing in and submitting your own entry
#11 Robin Abrahamsson / @rqAbrahamsson - Score: 119 - 05/29/20 @ 21:41
2cwtype<Esc>Jlr=Jwwr|i <Esc>jddj2cwtype<Esc>Ja= <Esc>jqq$da{vbdbPi:<Esc>b~bbdwA<BS><Esc>jq@qjj02cwtype<Esc>Ja= <Esc>j4@q$da{vbxbbPi:<Esc>brRrrbdwA<BS><BS> option<Esc>ZZ

0 comments


Created by: @rqAbrahamsson

11 active golfers, 48 entries

Leaderboard (lowest score wins):
63
#1 - せいほう / @FICSQF

05/30/2020 at 11:50PM

63
#2 - Guillaume Seren / @guillaumeseren

05/31/2020 at 03:53PM

63
#3 - Valdimar / @genkobar

06/02/2020 at 09:18PM

64
#4 - Saki Gw / @Sakigw

05/30/2020 at 08:38PM

64
#5 - John Braxler / @braxler

06/01/2020 at 05:48PM

67
#6 - garry quested / @GQuested

05/30/2020 at 09:19AM

76
#7 - Smylers / @Smylers2

05/30/2020 at 06:58AM

83
#8 - Derek Schrock / @derekschrock

05/29/2020 at 10:26PM

89
#9 - RockerZZY / @rocker_zzy

06/07/2020 at 01:40PM

93
#10 - Seve / @Seve_py

05/30/2020 at 03:15PM

119
#11 - Robin Abrahamsson / @rqAbrahamsson

05/29/2020 at 09:41PM