Информация об изменениях

Сообщение Re: nim-lang от 21.10.2019 15:03

Изменено 23.10.2019 14:19 Somescout

Re: nim-lang
Здравствуйте, varenikAA, Вы писали:

AA>https://nim-lang.org/blog/2019/09/23/version-100-released.html


AA>Итак, состоялся релиз совершенного ЯП.

AA>Web-приложение за 30 минут(почти без знания ЯП):
import jester, templates, htmlgen, strutils, cgi

proc index(n:int): string =
  tmpli html"""
    <ul>
    $for i in 0..n {
      <li>$i</li>
    }
    </ul>
    """
    
routes:
  get "/@id?":
    if(@"id" == ""):
      resp h1("required id")
    else:
      try:
        resp index(parseInt(@"id"))
      except:
        resp h1(decodeUrl(@"id") & " - id not int")


AA>пакеты простые и удобные в использовании. Язык лаконичный, поддержка ast и macro.

AA>Запуск мгновенный ибо gcc -> native exe/bin.

AA>Завтра попробую более сложную апликуху забацать на ниме и на фшарпе(коре), возможно еще на немерле.

AA>Посмотрим, кто на свете всех милее.

Для сравнения такая страница на Blazor (единственное отличие: если id отсутствует или не целое, вернётся 404):
@page "/{id:int}"

<ul>
@for(int i=0;i<=id;++i) {
  <li>@i</li>
}
</ul>

Там, конечно, есть ещё шаблонная обвязка (самого приложения, не дублируется для страниц), но именно сама страница делается так.
Re: nim-lang
Здравствуйте, varenikAA, Вы писали:

AA>https://nim-lang.org/blog/2019/09/23/version-100-released.html


AA>Итак, состоялся релиз совершенного ЯП.

AA>Web-приложение за 30 минут(почти без знания ЯП):
import jester, templates, htmlgen, strutils, cgi

proc index(n:int): string =
  tmpli html"""
    <ul>
    $for i in 0..n {
      <li>$i</li>
    }
    </ul>
    """
    
routes:
  get "/@id?":
    if(@"id" == ""):
      resp h1("required id")
    else:
      try:
        resp index(parseInt(@"id"))
      except:
        resp h1(decodeUrl(@"id") & " - id not int")


AA>пакеты простые и удобные в использовании. Язык лаконичный, поддержка ast и macro.

AA>Запуск мгновенный ибо gcc -> native exe/bin.

AA>Завтра попробую более сложную апликуху забацать на ниме и на фшарпе(коре), возможно еще на немерле.

AA>Посмотрим, кто на свете всех милее.

Для сравнения такая страница на Blazor (единственное отличие: если id отсутствует или не целое, вернётся 404):
@page "/{id:int}"

<ul>
@for(int i=0;i<=id;++i) {
  <li>@i</li>
}
</ul>

@code {
  [Parameter] public int id {get;set;}
}

Там, конечно, есть ещё шаблонная обвязка (самого приложения, не дублируется для страниц), но именно сама страница делается так.

UPD. Сорри, мой косяк: забыл добавить блок @code.