Lua со статическим контролем типов

Просто сделайте: df1.groupby(['ID', 'Category']).transform(func='mean') на первом кадре данных, чтобы получить желаемый кадр данных.

17
задан Norman Ramsey 7 August 2012 в 16:03
поделиться

3 ответа

Летом 2005 года или около того я работал с невероятно умным студентом над проблемой создания некоторого логического вывода во время компиляции для Lua, возможно, с помощью аннотаций , Эта проблема оказывается невероятно сложной! (Мой ученик написал короткую техническую заметку, но на самом деле она не предназначена для общего распространения.)

Если бы я хотел решить поставленную вами проблему, с двумя близкими ограничениями, которые он допускает значительную статическую проверку типов и что он взаимодействует со стандартным Lua-кодом, скомпилированным с помощью байт-кода , Я бы разработал новый язык с нуля , чтобы удовлетворить эти два ограничения. Это будет значительный объем работы, но значительно проще, чем попытка дооснастить систему типов до Lua.

14
ответ дан 30 November 2019 в 12:13
поделиться

Такого не бывает. Может быть возможно расширить MetaLua, чтобы сделать это, но никто не сделал этого, и AFAIK, нет никаких планов сделать это. Предполагается, что Lua - это динамический язык, если вы хотите использовать язык со статической типизацией, используйте его.

По сути, вы ищете что-то вроде Java или C #. В этом случае вы можете использовать проект типа Lua.NET для интеграции существующего кода Lua с C #. Существует также Kahlua для Java.

4
ответ дан 30 November 2019 в 12:13
поделиться

Пожалуйста, посмотрите этот пост в блоге Metalua .

-{ extension "types" }

function sum (x :: list(number)) :: number
  local acc :: number = 0
  for i=1, #x do acc=acc+x[i] end
  return acc
end

Это похоже на решение во время выполнения.

В любом случае, не стесняйтесь задавать свой вопрос в Список рассылки Metalua . Если вы хотите расширить синтаксис Lua, Metalua - первый инструмент, на который стоит обратить внимание.

PS Пожалуйста, никогда не пишите Lua как прописные буквы !

6
ответ дан 30 November 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: