Другие языки программирования и технологии
Можно ли преобразовать строку с кодом на языке N в непосредственно код на языке N?
Предположим, что язык N - это Java. У нас есть переменная String, которая содержит код на языке Java(String code = "System.out.println("This is Java code")";). Так вот, можно ли ПРОГРАММНО создать метод, который будет содержать код из строки code и успешно его выполнить? Или это что-то из ряда фантастики? Язык, кстати, не обязательно должен быть Java.
Ты имеешь ввиду написать в консоли самому функцию во время работы и её выполнить?
Ваня Иванов
Типа того. Генерация кода. В качестве параметра взять переменную строчного типа, содержащую код.
Программа, которая умеет печатать свой текст - это старая задача программирования.
Имеется в виду, что программа не открывает файл с исходным кодом. Такая программа называется "квайн". Вот квайн на Java.
public class Quine
{
public static void main(String[] args)
{
char q = 34; // Quotation mark character
String[] l = { // Array of source code
"public class Quine",
"{",
" public static void main(String[] args)",
" {",
" char q = 34; // Quotation mark character",
" String[] l = { // Array of source code",
" ",
" };",
" for(int i = 0; i < 6; i++) // Print opening code",
" System.out.println(l[i]);",
" for(int i = 0; i < l.length; i++) // Print string array",
" System.out.println(l[6] + q + l[i] + q + ',');",
" for(int i = 7; i < l.length; i++) // Print this code",
" System.out.println(l[i]);",
" }",
"}",
};
for(int i = 0; i < 6; i++) // Print opening code
System.out.println(l[i]);
for(int i = 0; i < l.length; i++) // Print string array
System.out.println(l[6] + q + l[i] + q + ',');
for(int i = 7; i < l.length; i++) // Print this code
System.out.println(l[i]);
}
Имеется в виду, что программа не открывает файл с исходным кодом. Такая программа называется "квайн". Вот квайн на Java.
public class Quine
{
public static void main(String[] args)
{
char q = 34; // Quotation mark character
String[] l = { // Array of source code
"public class Quine",
"{",
" public static void main(String[] args)",
" {",
" char q = 34; // Quotation mark character",
" String[] l = { // Array of source code",
" ",
" };",
" for(int i = 0; i < 6; i++) // Print opening code",
" System.out.println(l[i]);",
" for(int i = 0; i < l.length; i++) // Print string array",
" System.out.println(l[6] + q + l[i] + q + ',');",
" for(int i = 7; i < l.length; i++) // Print this code",
" System.out.println(l[i]);",
" }",
"}",
};
for(int i = 0; i < 6; i++) // Print opening code
System.out.println(l[i]);
for(int i = 0; i < l.length; i++) // Print string array
System.out.println(l[6] + q + l[i] + q + ',');
for(int i = 7; i < l.length; i++) // Print this code
System.out.println(l[i]);
}
Eval в javascript вот то что тебе надобно а на java чистом не льзя
Ваня Иванов
Спасибо большое
Почитай внимательно
Ваня Иванов
Не понимаю вас.
Похожие вопросы
- Языки програмирования, и машинный код.
- Как уменьшить количество строк в коде?
- Двоичный код быстрее языков программирования по типу c++? (Я знаю что эти языки тоже написаны на двоичном коде)
- [Язык С++] Ошибка в коде не пойму что такое...
- Чем отличается PHP-код, необходимый для PHP-Launcher от кода для PHP Devel Studio?
- Что означает эта строка в коде c++
- Как преобразовать строки файла в переменные (C#)?
- сейчас всё "шифруется" двоичным кодом, что будет если зашифровать троичным кодом, и как вы его представляете
- код на языке C# для выведения на экран названия животного, символизирующего этот год по восточному календарю.
- помогите пожалуйста проверить код на языке си, программа работает неверно - не выдает сумму массива Z