Вверх ↑
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
#1: 2011-10-22 15:41:38 ЛС | профиль | цитата
Понадобилось тут некий код на Java перевести в Python (если точнее, то "чистый" плагин для Bukkit-а перевести в питоновский модуль для PythonLoader). Самая противная часть - это перевод блока импортов: надо код вида
import org.bukkit.ChatColor;
import org.bukkit.block.BlockState;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Event.Priority;
import org.bukkit.event.Event.Type;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.plugin.java.JavaPlugin;
перевести в
from org.bukkit import ChatColor
from org.bukkit.block import BlockState
from org.bukkit.command import Command
from org.bukkit.command import CommandExecutor
from org.bukkit.command import CommandSender
from org.bukkit.entity import Player
from org.bukkit.event.Event import Priority
from org.bukkit.event.Event import Type
from org.bukkit.event.player import PlayerListener
from org.bukkit.plugin.java import JavaPlugin

Т.е. по сути заменить последнюю "." на " import ", начальный "import" на "from", ";" убрать.

Пока что получился вот такой монстр:
code_25521.txt

Вопрос: можно ли как-то попроще это сделать?
карма: 1

0
файлы: 1code_25521.txt [3.5KB] [256]
Разработчик
Ответов: 26149
Рейтинг: 2127
#2: 2011-10-22 15:59:29 ЛС | профиль | цитата
Так пойдет

code_25523.txt
карма: 22

1
файлы: 1code_25523.txt [1.4KB] [169]
Голосовали:iarspider
Ответов: 67
Рейтинг: 5
#3: 2011-10-22 16:12:48 ЛС | профиль | цитата
а так?
code_25524.txt
карма: 1

2
файлы: 1code_25524.txt [1.3KB] [151]
Голосовали:iarspider, Tad
Ответов: 3889
Рейтинг: 362
#4: 2011-10-22 17:07:14 ЛС | профиль | цитата
...
------------ Дoбавленo в 17.07:
Пардон, одну точку забыл, поправил:

Add(MainForm,128145,203,140)
{
Height=360
}
Add(Memo,2675077,245,126)
{
Left=15
Top=10
Width=230
Height=150
Align=2
Strings=#28:import org.bukkit.ChatColor;|35:import org.bukkit.block.BlockState;|34:import org.bukkit.command.Command;|42:import org.bukkit.command.CommandExecutor;|40:import org.bukkit.command.CommandSender;|32:import org.bukkit.entity.Player;|39:import org.bukkit.event.Event.Priority;|35:import org.bukkit.event.Event.Type;|46:import org.bukkit.event.player.PlayerListener;|42:import org.bukkit.plugin.java.JavaPlugin; |
}
Add(Memo,6010634,392,231)
{
Top=183
Width=392
Height=150
Align=4
}
Add(Button,6719722,217,182)
{
Top=150
Width=392
Height=33
Align=5
Caption="=>"
link(onClick,4368814:doEnum,[])
}
Add(ArrayEnum,4368814,259,182)
{
link(onItem,6924480:doMultiReplace,[])
link(Array,2675077:Array,[])
}
Add(FormatStr,9586748,343,231)
{
DataCount=3
Mask="%3.%2 import %1"
link(onFString,6010634:doAdd,[])
link(Str1,7246000:Part1,[])
link(Str2,7246000:Part2,[])
}
Add(MultiReplace,6924480,301,182)
{
ReplaceList="import = from$
; = $"
EndSymbol="$"
link(onResult,7246000:doSplit,[])
}
Add(MultiStrPart,7246000,343,182)
{
Char="."
Direct=1
link(onSplit,9586748:doString,[(389,188)(389,221)(331,221)(331,237)])
}

карма: 1

1
Голосовали:iarspider
Разработчик
Ответов: 26149
Рейтинг: 2127
#5: 2011-10-22 17:22:52 ЛС | профиль | цитата
1nd1g0, а зачем менять последний символ, совсем необязательно, прекрасно работает и без замены

code_25525.txt
карма: 22

0
файлы: 1code_25525.txt [1.4KB] [179]
Ответов: 3889
Рейтинг: 362
#6: 2011-10-22 17:30:45 ЛС | профиль | цитата
nesco писал(а):
зачем менять последний символ

Наглядность и перестраховка.
карма: 1

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#7: 2011-10-22 17:36:44 ЛС | профиль | цитата
Но вот вырезание последней точки меня у тебя добило -- зачем так было усложнять
карма: 22

0
Ответов: 5446
Рейтинг: 323
#8: 2011-10-22 18:32:58 ЛС | профиль | цитата
nesco, позор на мою седую голову (с). Спасибо!
------------ Дoбавленo в 18.29:
10755, o_O! Вот в жизни бы не додумался до такого хода!
------------ Дoбавленo в 18.32:
[offtop]При таком количестве толковых программистов - и один Леонид нынче в ConTest-е засветился...[/offtop]
карма: 1

0
Ответов: 3889
Рейтинг: 362
#9: 2011-10-22 18:35:11 ЛС | профиль | цитата
iarspider писал(а):
При таком количестве толковых программистов - и один Леонид нынче в ConTest-е засветился...

Программистам некогда, они работают
карма: 1

0
Ответов: 8926
Рейтинг: 823
#10: 2011-10-22 18:35:42 ЛС | профиль | цитата
iarspider, коллега 10755 наверное радиолюбитель (не по Galkov-у) которые часто применяют "нестандартные" включения стандартных компонентов
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#11: 2011-10-22 19:13:15 ЛС | профиль | цитата
Леонид, во всяком случае радиолюбительский подход самый экономный.
code_25528.txt
(оптимизировал метод 10755)

nesco, 73443 lines, 56356 bytes code, 2169 bytes data.
1nd1g0, 72533 lines, 54600 bytes code, 2153 bytes data.
10755, 72465 lines, 54324 bytes code, 2165 bytes data.
Tad.., 72201 lines, 53184 bytes code, 2157 bytes data.


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_25528.txt [1.2KB] [149]
Разработчик
Ответов: 26149
Рейтинг: 2127
#12: 2011-10-22 19:46:43 ЛС | профиль | цитата
Tad писал(а):
во всяком случае радиолюбительский подход самый экономный

Пролетал я с эти подходом -- компонент FilePart очень интересно обрезает точки в расширениях, пол имени, как кошки языком слизывает, если в имени хоть несколько точек есть еще
------------ Дoбавленo в 19.45:
Tad, а где код
------------ Дoбавленo в 19.46:
Опять, мля, фалометрия пошла в ход.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#13: 2011-10-22 19:53:27 ЛС | профиль | цитата
Вообще то да. Я тоже как-то напоролся на глюк в компоненте FilePart если надо выделить расширение с точкой.
Пришлось выделять без точки и точку добавлять StrCat-ом.
------------ Дoбавленo в 19.53:
nesco писал(а):
Опять, мля, фалометрия пошла в ход.
Ну нет. Это не время - это вполне реальные цифры.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26149
Рейтинг: 2127
#14: 2011-10-22 20:08:58 ЛС | профиль | цитата
Есть еще вариант решения

code_25529.txt

Просто вариант, за размером не гнался
карма: 22

0
файлы: 1code_25529.txt [1.4KB] [174]
Гость
Ответов: 17029
Рейтинг: 0
#15: 2011-10-22 20:39:01 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:57:56
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)