TOMÁŠ HUBÁLEK BLOG: BAVTE SE PŘIMĚŘENĚ…

Java: Jython jako interaktivní laboratoř pro pokusy s Javou…

Written By: Tomáš Hubálek - Dec• 01•04

Jython má, mimo mnoha jiných skvělých vlastností, také interaktivní interpreter. Toho se dá celkem pěkně využít, když si chcete nějakou Javovskou třídu vyzkoušet a nechce se vám psát public class TestClass {

Já jsem např. využil tuto interaktivitu při hledání vhodného formátu datumu. Nejprve jsem provedl importy příslušných tříd:

 tom@tomh:~> jython Jython 2.1 on java1.4.2 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> from java.text import SimpleDateFormat >>> from java.util import Locale 

Pak jsem se podíval na to, jaké metody a konstanty třída obsahuje

 >>> dir(Locale) ['CANADA', 'CANADA_FRENCH', 'CHINA', 'CHINESE', 'ENGLISH', 'FRANCE', 'FRENCH', 'GERMAN', 'GERMANY', 'ISO3Country', 'ISO3Language', 'ITALIAN', 'ITALY', 'JAPAN', 'JAPANESE', 'KOREA', 'KOREAN', 'PRC', 'SIMPLIFIED_CHINESE', 'TAIWAN', 'TRADITIONAL_CHINESE', 'UK', 'US', 'clone', 'country', 'displayCountry', 'displayLanguage', 'displayName', 'displayVariant', 'getAvailableLocales', 'getCountry', 'getDefault', 'getDisplayCountry', 'getDisplayLanguage', 'getDisplayName', 'getDisplayVariant', 'getISO3Country', 'getISO3Language', 'getISOCountries', 'getISOLanguages', 'getLanguage', 'getVariant', 'language', 'setDefault', 'variant'] >>> dir (SimpleDateFormat) ['2DigitYearStart', 'applyLocalizedPattern', 'applyPattern', 'dateFormatSymbols', 'format', 'get2DigitYearStart', 'getDateFormatSymbols', 'parse', 'set2DigitYearStart', 'setDateFormatSymbols', 'toLocalizedPattern', 'toPattern'] 

Zjistil jsem že SimpleDateFormat není přesně to, co potřebuju načetl jsem si tedy ještě DateFormat

 >>> from java.text import DateFormat >>> dir (DateFormat) ['AM_PM_FIELD', 'DATE_FIELD', 'DAY_OF_WEEK_FIELD', 'DAY_OF_WEEK_IN_MONTH_FIELD', 'DAY_OF_YEAR_FIELD', 'DEFAULT', 'ERA_FIELD', 'FULL', 'HOUR0_FIELD', 'HOUR1_FIELD', 'HOUR_OF_DAY0_FIELD', 'HOUR_OF_DAY1_FIELD', 'LONG', 'MEDIUM', 'MILLISECOND_FIELD', 'MINUTE_FIELD', 'MONTH_FIELD', 'SECOND_FIELD', 'SHORT', 'TIMEZONE_FIELD', 'WEEK_OF_MONTH_FIELD', 'WEEK_OF_YEAR_FIELD', 'YEAR_FIELD', 'calendar', 'format', 'getAvailableLocales', 'getCalendar', 'getDateInstance', 'getDateTimeInstance', 'getInstance', 'getNumberFormat', 'getTimeInstance', 'getTimeZone', 'isLenient', 'lenient', 'numberFormat', 'parse', 'parseObject', 'setCalendar', 'setLenient', 'setNumberFormat', 'setTimeZone', 'timeZone'] 

Vytvořil jsem instanci DateFormat

 >>> df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US) 

A už to můžu zkoušet…

 >>> df.format(Date()) '12/1/04' >>> df = DateFormat.getDateInstance(DateFormat.LONG, Locale.GERMANY) >>> df.format(Date()) '1. Dezember 2004' >>> 

Osobně se mi tento postup líbí, protože není třeba vytvářet nějakou třídu, kompilovat, pouštět, znova kompilovat znova pouštět… Prostě si jen interaktivně hrajete…

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Comment

  1. Jirka Hradil says:

    Eclipse IDE ma tohle v sobe jako scrapbook page.

Leave a Reply

Your email address will not be published. Required fields are marked *