Показать полную строку в интерактивном окне F # - PullRequest
1 голос
/ 05 марта 2019

Если я наберу следующее в fsx в коде Visual Studio

let longString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

и запустите на нем интерактивный F #, выделив и нажав Alt + Введите , вывод в интерактивном окне будет

- let longString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepte- ur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";;
val longString : string =
  "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed "+[384 chars]

или как скриншот:

screenshot output

Как я могу указать интерактивному окну F # отобразить полную строку? Есть ли ярлык или еще?

Мне известно о этом посте , но насколько я знаю, здесь все по-другому, потому что строка не обрабатывается лениво.

Ответы [ 2 ]

3 голосов
/ 05 марта 2019

printfn напечатает его полностью:

printfn "%s" longString

Кроме того, вы можете изменить свойства объекта fsi, например:

fsi.PrintWidth <- 1000;;

Также вы можете использовать AddPrinter:

fsi.AddPrinter (fun (s:string) -> s)

Вот документация: https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/interactive.interactivesession-class-%5bfsharp%5d

2 голосов
/ 15 мая 2019

Если это только для тестирования / отладки: Если вы находитесь в VSC, вы можете запустить свой скрипт в интерактивном режиме, как вы упомянули. Вы можете воспользоваться этим, используя интерактивный терминал и набрав (в указанном интерактивном терминале)

longString;;

//output
val it : string =
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

Затем будет показана вся строка, и в большинстве случаев этого достаточно (поскольку вы все равно не хотите загромождать свой сценарий ненужными выходными данными).

...