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 5ed25358070f0e0006193c04

C# function to F#

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

Start file
private static string GetData(Environment environment, string name)
{
  var options = new DefaultOptions();
  if (environment.IsDevelopment())
  {
    options.LocalCredentials = true;
    options.Path = "/stuff";
  }
  else
  {
    options.LocalCredentials = false;
  }
  var uri = new Uri("https://example.com/" + name);
  var client = new GetClient(uri, options);
  return client.GetStuff(name);
}
End file
let getData (environment: Environment) (name: string) : string =
  let options = DefaultOptions()
  if environment.IsDevelopment() then
    options.LocalCredentials <- true
    options.Path <- "/stuff"
  else
    options.LocalCredentials <- false
  let uri = Uri("https://example.com/" + name)
  let client = GetClient(uri, options)
  client.GetStuff(name)

View Diff

1,8c1,5
< private static string GetData(Environment environment, string name)
< {
<   var options = new DefaultOptions();
<   if (environment.IsDevelopment())
<   {
<     options.LocalCredentials = true;
<     options.Path = "/stuff";
<   }
---
> let getData (environment: Environment) (name: string) : string =
>   let options = DefaultOptions()
>   if environment.IsDevelopment() then
>     options.LocalCredentials <- true
>     options.Path <- "/stuff"
10,16c7,10
<   {
<     options.LocalCredentials = false;
<   }
<   var uri = new Uri("https://example.com/" + name);
<   var client = new GetClient(uri, options);
<   return client.GetStuff(name);
< }
\ No newline at end of file
---
>     options.LocalCredentials <- false
>   let uri = Uri("https://example.com/" + name)
>   let client = GetClient(uri, options)
>   client.GetStuff(name)
\ No newline at end of file

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 2 remaining solutions by signing in and submitting your own entry
#3 dotvimrc / @dotvimrc1 - Score: 160 - 05/31/20 @ 18:52
3dwrg<Esc>ilet <Esc>f(i <Esc>fEref i:<Esc>ferE<Esc>f,r)<Esc>fsdwi(<Esc>ea: string<Esc>A : string =<Esc>j**:g//d<CR>j*:g//d<CR>dw:s<BS>%s/var/let/g<CR>:%s/;//g<CR>:%s/new //g<CR>:3<CR>f(xf);xA then<Esc>/=<CR>xi<-<Esc>n.lxnxi<-<Esc>ZZ

0 comments


Created by: @rqAbrahamsson

3 active golfers, 4 entries

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

05/30/2020 at 05:24PM

128
#2 - Robin Abrahamsson / @rqAbrahamsson

05/31/2020 at 08:09AM

160
#3 - dotvimrc / @dotvimrc1

05/31/2020 at 06:52PM