Die Programme „wiemitneo“ und „beschreibe“ sind noch in der Entwicklung #84

Відкрито
2008-11-22 09:34:46 +01:00 відкрито erik · 8 коментарів
erik прокоментував(ла) 2008-11-22 09:34:46 +01:00
Учасник

Wenn ich dem Programm linux/bin/beschreibe folgendes übergebe:

beschreibe ①

wird mir folgendes angezeigt:

1) ①
2) ①
welches Zeichen suchen Sie:

also zwei mal das gleiche. Warum? Egal was ich dann wähle (1 oder 2), es wird jedes mal das gleiche ausgegeben, nämlich

① ist nicht direkt auf der NEO-Tastatur

Aber ① ist über Compose folgendermaßen darstellbar:
<Multi_key> + <parenleft> + <1> + <parenright> 
<Multi_key> + <parenleft> + <KP_1> + <parenright>

Das Programm linux/bin/wiemitneo gibt mir dies auch direkt, ohne sinnlose Zwischenfrage aus. Wozu gibt es also das Programm linux/bin/beschreibe? Irgendwie redundant.

Wenn ich dem Programm [linux/bin/beschreibe](src/branch/master/linux/bin/beschreibe) folgendes übergebe: ``` beschreibe ① ``` wird mir folgendes angezeigt: ``` 1) ① 2) ① welches Zeichen suchen Sie: ``` also zwei mal das gleiche. Warum? Egal was ich dann wähle (1 oder 2), es wird jedes mal das gleiche ausgegeben, nämlich ``` ① ist nicht direkt auf der NEO-Tastatur Aber ① ist über Compose folgendermaßen darstellbar: <Multi_key> + <parenleft> + <1> + <parenright> <Multi_key> + <parenleft> + <KP_1> + <parenright> ``` Das Programm [linux/bin/wiemitneo](src/branch/master/linux/bin/wiemitneo) gibt mir dies auch direkt, ohne sinnlose Zwischenfrage aus. Wozu gibt es also das Programm [linux/bin/beschreibe](src/branch/master/linux/bin/beschreibe)? Irgendwie redundant.
erik прокоментував(ла) 2008-11-22 12:40:47 +01:00
Author
Учасник

Ich schlage als Lösung zur Vermeidung der Dopplungen vor:

bisherigeAusgabe() | sort | uniq

Dast ist wohl die einfachste und schnellste Lösung.

Ich schlage als Lösung zur Vermeidung der Dopplungen vor: ``` bisherigeAusgabe() | sort | uniq ``` Dast ist wohl die einfachste und schnellste Lösung.
erik прокоментував(ла) 2008-11-22 13:11:23 +01:00
Author
Учасник

Nein, noch besser:

Habe gerade das Skript angesehen. Puuuh, gar nicht kommentiert. Sehr schade, damit ist es fast nur für den Originalautor wartbar. Und das auch nur für kurze Zeit, bis er vergisst, was nochmal was macht.

Nun zum Vorschlag: Statt die Variable

ausgabe

jedes mal (und immer wieder!) mit 1 zu füllen, würde ich lieber die einzelnen gefundenen Zeichen in die Variable ausgabe schreiben. Jeweils mit Leerzeichen getrennt. Also erst die Zeichen, die in Compose gefunden wurden und dann die in der keysymdef.h in die Variable schreiben.

Dann Dopplungen weg, dann Auswahl ausgeben.

Beispielsweise so:

# die gefundenen Zeichen stehen in der Variable AUSGABE
AUSGABE="1 1 2 4 5 8 1 3 5 7 8 2 2 9 9 9 9 0 1 0 1 0 1 3 4 5 6 7"

# Dopplungen entfernen
AUSGABE_SORTIERT=$(for i in $AUSGABE; do echo $i; done | sort | uniq)

# Zähler für die Auswahl des richtigen Zeichens auf 1 setzen, danach ausgeben
ZAEHLER=1
for i in $AUSGABE_SORTIERT; do
    echo "${ZAEHLER}) $i"
    ZAEHLER=$(($ZAEHLER+1)) # Zähler hochzählen
done

Unicodeverträglich?

Funktioniert das auch mit sämtlichen verrückten Zeichen wie ①, ™, æ, ⅱ, usw? Ist jedenfalls sehr einfach, gut wartbar, verständlich, fehlerfreier (weniger Codezeilen) usw.

Ansonsten würde ich zumindest die Variable ausgabe ganz am Anfang initialisieren. Denn es könnte sein, dass diese schon existiert. Also am Anfang schreiben

ausgabe=0

oder ähnliches.

### Nein, noch besser: Habe gerade das Skript angesehen. Puuuh, gar nicht kommentiert. Sehr schade, damit ist es fast nur für den Originalautor wartbar. Und das auch nur für kurze Zeit, bis er vergisst, was nochmal was macht. Nun zum Vorschlag: Statt die Variable ``` ausgabe ``` jedes mal (und immer wieder!) mit 1 zu füllen, würde ich lieber die einzelnen gefundenen Zeichen in die Variable ausgabe schreiben. Jeweils mit Leerzeichen getrennt. Also erst die Zeichen, die in Compose gefunden wurden und dann die in der keysymdef.h in die Variable schreiben. Dann Dopplungen weg, dann Auswahl ausgeben. Beispielsweise so: ``` # die gefundenen Zeichen stehen in der Variable AUSGABE AUSGABE="1 1 2 4 5 8 1 3 5 7 8 2 2 9 9 9 9 0 1 0 1 0 1 3 4 5 6 7" # Dopplungen entfernen AUSGABE_SORTIERT=$(for i in $AUSGABE; do echo $i; done | sort | uniq) # Zähler für die Auswahl des richtigen Zeichens auf 1 setzen, danach ausgeben ZAEHLER=1 for i in $AUSGABE_SORTIERT; do echo "${ZAEHLER}) $i" ZAEHLER=$(($ZAEHLER+1)) # Zähler hochzählen done ``` ### Unicodeverträglich? Funktioniert das auch mit sämtlichen verrückten Zeichen wie ①, ™, æ, ⅱ, usw? Ist jedenfalls sehr einfach, gut wartbar, verständlich, fehlerfreier (weniger Codezeilen) usw. Ansonsten würde ich zumindest die Variable ausgabe ganz am Anfang initialisieren. Denn es könnte sein, dass diese schon existiert. Also am Anfang schreiben ``` ausgabe=0 ``` oder ähnliches.
bjoern прокоментував(ла) 2008-11-22 13:57:54 +01:00

Unicodeverträglich?

Funktioniert das auch mit sämtlichen verrückten Zeichen wie ①, ™, æ, ⅱ, usw?

Bei mir unter Ubuntu 8.10 nicht, da macht schon ein

echo ① | cut -c1

wie es in der Art häufig im Scirpt verwendet wird, Probleme.

> ### Unicodeverträglich? > Funktioniert das auch mit sämtlichen verrückten Zeichen wie ①, ™, æ, ⅱ, usw? Bei mir unter Ubuntu 8.10 nicht, da macht schon ein ``` echo ① | cut -c1 ``` wie es in der Art häufig im Scirpt verwendet wird, Probleme.
erik прокоментував(ла) 2008-11-22 14:11:28 +01:00
Author
Учасник

Unicodeverträglich?

Funktioniert das auch mit sämtlichen verrückten Zeichen wie ①, ™, æ, ⅱ, usw?

Bei mir unter Ubuntu 8.10 nicht, da macht schon ein

echo ① | cut -c1

wie es in der Art häufig im Scirpt verwendet wird, Probleme.

Echt? Bei mir funktioniert es einwandfrei:

echo ①②③④ | cut -c2-4

ergibt ②③④. Ubuntu ist komisch.

> > > ### Unicodeverträglich? > > Funktioniert das auch mit sämtlichen verrückten Zeichen wie ①, ™, æ, ⅱ, usw? > > Bei mir unter Ubuntu 8.10 nicht, da macht schon ein ``` echo ① | cut -c1 ``` > wie es in der Art häufig im Scirpt verwendet wird, Probleme. Echt? Bei mir funktioniert es einwandfrei: ``` echo ①②③④ | cut -c2-4 ``` ergibt ②③④. Ubuntu ist komisch.
bjoern прокоментував(ла) 2008-11-22 14:21:11 +01:00

Bei mir funktioniert es einwandfrei:

echo ①②③④ | cut -c2-4

ergibt ②③④. Ubuntu ist komisch.

$ echo ①②③④ | cut -c2-4

ergibt ��.

$ echo ①②③④

funktioniert: ①②③④

$ locale
LANG=de_DE.UTF-8
LANGUAGE=de_DE:de:en_GB:en
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

sollte ja passen.

$ cut --version
cut (GNU coreutils) 6.10
Copyright © 2008 Free Software Found…

Die ist denke ich auch aktuell.

Aber mit dem Problem bin ich hier offtopic. ☺

> Bei mir funktioniert es einwandfrei: ``` echo ①②③④ | cut -c2-4 ``` > ergibt ②③④. Ubuntu ist komisch. ``` $ echo ①②③④ | cut -c2-4 ``` ergibt ��. ``` $ echo ①②③④ ``` funktioniert: ①②③④ ``` $ locale LANG=de_DE.UTF-8 LANGUAGE=de_DE:de:en_GB:en LC_CTYPE="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_COLLATE="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_MESSAGES="de_DE.UTF-8" LC_PAPER="de_DE.UTF-8" LC_NAME="de_DE.UTF-8" LC_ADDRESS="de_DE.UTF-8" LC_TELEPHONE="de_DE.UTF-8" LC_MEASUREMENT="de_DE.UTF-8" LC_IDENTIFICATION="de_DE.UTF-8" LC_ALL= ``` sollte ja passen. ``` $ cut --version cut (GNU coreutils) 6.10 Copyright © 2008 Free Software Found… ``` Die ist denke ich auch aktuell. Aber mit dem Problem bin ich hier offtopic. ☺
pascal змінився заголовок з Das Programm „beschreibe“ macht doppelte Ausgaben на Die Programme „wiemitneo“ und „beschreibe“ sind noch in der Entwicklung 2008-11-23 00:14:35 +01:00
pascal прокоментував(ла) 2008-11-23 00:14:35 +01:00

Sie Antwort in entsprechendem Thread der für Diskussionen besser geeigneten Mailingliste…

Sie Antwort in entsprechendem Thread der für Diskussionen besser geeigneten Mailingliste…
bened прокоментував(ла) 2009-02-03 15:07:34 +01:00

Hallo! Auch zum Thema "beschreibe":

$ beschreibe ä
1) Ä
2) Ä
3) ä
4) ä
welches Zeichen suchen Sie: 1

• Ä gibt es direkt auf der NEO-Tastatur:
cut: Trenner muss ein einzelnes Zeichen sein
„cut --help“ gibt weitere Informationen.
cut: Liste der Positionen fehlt
„cut --help“ gibt weitere Informationen.
cut: Liste der Positionen fehlt
„cut --help“ gibt weitere Informationen.
...

Und so geht es dann weiter und weiter bis ich abbreche. Ich arbeite mit Debian Etch, was cut v5.97 mitliefert. Zu alt?

Hallo! Auch zum Thema "beschreibe": ``` $ beschreibe ä 1) Ä 2) Ä 3) ä 4) ä welches Zeichen suchen Sie: 1 • Ä gibt es direkt auf der NEO-Tastatur: cut: Trenner muss ein einzelnes Zeichen sein „cut --help“ gibt weitere Informationen. cut: Liste der Positionen fehlt „cut --help“ gibt weitere Informationen. cut: Liste der Positionen fehlt „cut --help“ gibt weitere Informationen. ... ``` Und so geht es dann weiter und weiter bis ich abbreche. Ich arbeite mit Debian Etch, was cut v5.97 mitliefert. Zu alt?
bjoern прокоментував(ла) 2009-02-03 15:11:12 +01:00
cut: Trenner muss ein einzelnes Zeichen sein
„cut --help“ gibt weitere Informationen.
cut: Liste der Positionen fehlt
„cut --help“ gibt weitere Informationen.
cut: Liste der Positionen fehlt
„cut --help“ gibt weitere Informationen.
...

Und so geht es dann weiter und weiter bis ich abbreche. Ich arbeite mit Debian Etch, was cut v5.97 mitliefert. Zu alt?

Mit cut 6.10 bei Ubuntu 8.10 das gleiche. Es liegt daran, dass Unicode-Zeichen als 2 Zeichen gesehen werden.
Habe schonmal versucht, die Skripte umzuschreiben, dass sie awk/sed stattdessen nutzen (damit ging es bei mir), bin aber nicht weit gekommen und hab erstmal aufgegeben.

Gruß
Björn

``` cut: Trenner muss ein einzelnes Zeichen sein „cut --help“ gibt weitere Informationen. cut: Liste der Positionen fehlt „cut --help“ gibt weitere Informationen. cut: Liste der Positionen fehlt „cut --help“ gibt weitere Informationen. ... ``` > > Und so geht es dann weiter und weiter bis ich abbreche. Ich arbeite mit Debian Etch, was cut v5.97 mitliefert. Zu alt? Mit cut 6.10 bei Ubuntu 8.10 das gleiche. Es liegt daran, dass Unicode-Zeichen als 2 Zeichen gesehen werden. Habe schonmal versucht, die Skripte umzuschreiben, dass sie awk/sed stattdessen nutzen (damit ging es bei mir), bin aber nicht weit gekommen und hab erstmal aufgegeben. Gruß Björn
Підпишіться щоб приєднатися до обговорення.
Етап відсутній
Немає виконавця
4 учасників
Сповіщення
Дата завершення
Термін дії не дійсний або знаходиться за межами допустимого діапазону. Будь ласка використовуйте формат 'yyyy-mm-dd'.

Термін виконання не встановлений.

Залежності

No dependencies set.

Reference: neo/neo-layout#84
No description provided.