Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2012, 08:56   #11
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Добавил создание closure-short
Код:
f = (String, String name) => "Hello " + name;
Ну так же это пойдет как и ананомный вызов
Код:
((String) => "Hello).inoke(); // вернет "Hello"
Или по странному можно сделать
Код:
(String) => "Hello";.invoke();
Просто обрыв структуры происходит по ; т.к. это может быть вообще конец или по лишней ) т.е. обвернули в ().
Ну и еще бывает такое, что надо просто написать класс который держит какие то значения, теперь пишем так
Код:
class Test(String a, Integer b)
после создания инстанца Test, у вас будет объект с двумя финализированными полями a и b, можно указать так же этим полям видимость в виде private|public|protected, т.е. по умолчанию идут они как public.

Кстати, предлагайте что есть, буду обдумывать и включать в поддержку. А на счет Array и List, я подумываю просто сделать так, если у вас уже есть какой то объект, класс которого имплементирует List интерфейс, то сделать что-то вроде такого
Код:
List<String> list = ...;
...
List<Integer> integerList = map(list, (Integer, String item) => Integer.valueOf(item));
Ну это будут как просто статические функции помощники, другой вопрос, что можно делать враппер над List, к примеру. Но тогда как то надо будет давать возможность получить реальный объект лист (оригинал), не охота мне все поля List имплементировать и потом ссылаться на обвернутый объект, хотя вполне реально. И будет как то так
Код:
integerList = List(list).map(Integer, String item => Integer.valueOf(item));
// или сразу создавать лист из чего-то.
integerList2 = List("1").map(Integer, String item => Integer.valueOf(item));
Разумеется после map или просто List(...) это будет immutable List.

Какие у вас будут идеи?

Последний раз редактировалось BOBAH13; 29.01.2012 в 09:02.
BOBAH13 вне форума Ответить с цитированием
Старый 30.01.2012, 01:53   #12
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

А Вы не думали нацелиться на какую-нибудь существующую библиотеку, ту же functionaljava, и писать синтаксический сахар для неё? Там уже есть и реализация неизменяемых списков и алгоритмов над ними.
А сокращённая запись классов, это конечно удобно бывает)
И вот ещё что, как насчёт строковой интерполяции?
Код:
int x = 10;
double d = 3.5;

// FJava
String s = $"x = ${x}, d = ${d}.";

// Java
String s = "x = " + x + ", d = " + d + ".";
netrino вне форума Ответить с цитированием
Старый 30.01.2012, 02:12   #13
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

В том то и дело, я не хочу прицепляться к подобным библиотека, зачем? Да там есть реализация, но они реализованы через рефлектион, произвдительность сразу падает не вероятно, да и не хорошее это дело, ну мое мнение. Вся суть того, что я делаю, как раз ничего особо не внидрять, а больше проводить подмену текста, по сути.

На счет текста и переменных, String.format? Я к нему привык, вполне устраивает.
После Scala с ее implicit def для классов и потом с map, я Cursor, объект для работы с данными таблицы БД, расширял так, что просто считавал всю таблицу в одной строке кода, и возвращал список объектов. В Java пришлось враппер писать, и потом делать подобное. Тут вот и идея, сделать что-то, чтобы можно было расширять класс и потом использовать дополнительные поля. Пока что, я ограничиваю только файлами, т.е. если несколько файлов .fjava то парсер и транслятор будут по отдельности их обрабатывать. Соотственно сделать inferred type для переменных и аргументов, становится не возможным. Буду обдумывать, что-то вдруг "обдуманное" выплывет в голове.

Последний раз редактировалось BOBAH13; 30.01.2012 в 03:42.
BOBAH13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение файла в массив строк java (Перенесено из Java SE) Sasha9132 Помощь студентам 0 18.11.2010 22:57
Помогите справиться с java.lang.OutOfMemoryError: Java heap space Levilaulada Помощь студентам 1 17.05.2009 10:59