【叩かれて】Emacs Lisp道場【強くなれ】
emacs覧 / PC版 /みんなの評価 : ○
551 = :
あ、みっけた。
555 = :
Elispはじめて間もないのですが、質問です。
ある変数に入っている文字コードを判別するのって
どうやればいいのでしょうか??
例えば、
(setq hoge1 "ほげ" hoge2 "hoge")
ここで、hoge2 に入っている文字列がローマ字であるかどうかだけ
分かれば、もしくは hoge1 に2バイト文字が入っているかどうかが
分かれば分かればいいのですが・・・
get-text-property あたりを見ているのですが・・・
ご教授お願いします。
556 = :
>>555
その目的なら multibyte-string-p でよさそうな気がする。
正規表現で調べるって手もあるだろうけど。
557 = :
「ローマ字であるかどうかだけ」
これは、「アルファベットのみからなる」と置き換えてもいいの?
559 = :
>>556
全然よくない。
560 = :
皆様、レスありがとうございます。
>>557さんの言うとおり、入っている文字列が
ただ単に日本語かまた違うものかを判別したいだけ
なので”アルファベットのみからなる”と
置き換えても構わないと思います。
すみません、よろしくお願いします。
562 = :
hoge が、アルファベットのみで構成された文字列かどうか調べるなら、
(string-match "\\`[A-Za-z]+\\'" hoge)
charset で調べるなら、
(let ((charsets (find-charset-string hoge)))
(catch 'done
(while charsets
(unless (memq (car charsets)
'(ascii eight-bit-control eight-bit-graphic))
(throw 'done t))
(setq charsets (cdr charsets)))
nil))
とか?
563 = :
おお、素早いレスありがとうございます!!
今試して見ます!!
564 = :
>>562
おお、出来ました!!
正規表現での判別と文字そのものの判別ですか~
なるほどなるほど。どうもありがとうございます。
勉強になりました。
566 = :
再度書き込みすみません。
例えば、以下のように関数の続きとして>>562さんのコードを
使いたいのですが、(let を外してしまうと
上手く動いてくれません。let は局所的変数宣言でしたよね?
(defun .....
.
.
(setq hoge (split-string "name1 name2 name3"))
(setq name_s (length hoge) name_n 0 mew-from-sex 1)
(if (let ((charsets (find-charset-string (nth name_n hoge))))
(catch 'done
(while charsets
(unless (memq (car charsets)
'(ascii eight-bit-control eight-bit-graphic))
(throw 'done t))
(setq charsets (cdr charsets)))
nil))
(setq people 0)
(setq people 1))
.
)
よろしくお願いします。。。
568 = :
関数の始めにいっきに let で変数宣言したくて、
(let ((charsets (find-charset-string (nth name_n hoge))))
も含めて宣言しようと外したのですが。。。
569 = :
多段let撲滅
571 = :
>>569
参考までに教えて欲しんだけど
1. 実行速度
2.可読性
のいづれかの理由によるものでしょうか? それとも他の理由?
572 = :
>>571
いや、俺はちょっと皮肉(?)ってみただけで。
573 = :
えっと、以下のようにするということでしょうか??
(let (charsets) hoge name_s name_n people mew-from-sex
(setq hoge (split-string "name1 name2 name3"))
(setq name_s (length hoge) name_n 0 mew-from-sex 1)
(if (progn setq charsets (find-charset-string (nth name_n hoge))
(catch 'done
(while charsets
(unless (memq (car charsets)
'(ascii eight-bit-control eight-bit-graphic))
(throw 'done t))
(setq charsets (cdr charsets)))
nil))
(setq people 0)
(setq people 1)))
574 = :
うわ、空白がすごくみずらいですね。。。
すみません。。
575 = :
>>573
letの使い方理解してないぞ
579 = :
Emacs をわたし色に染めて♪ の人は自殺しそうでしたがまだ生きてますか?
580 = :
>>579
なにがあったの?
581 = :
LISPのクラスを取るか迷っている初心者ですが、LISPが出きると、どういうことができるようになるのか教えてください。
582 = :
>>581
特にない。
583 = :
>>581
普通のやつらの上を行ける。
584 = :
>>583
どういう点で?
585 = :
>>584
http://www.shiro.dreamhost.com/scheme/trans/beating-the-averages-j.html
586 = :
>>581
クラスって大学か何かか。
EmacsLispでCLOSみたいなもんを誰か作ったのかと思った。
587 = :
学校の授業という意味です。
588 = :
>>585
ありがとうございます。読みました。
中で「Lispはパワフルな言語だとは知っているけど」等、LISPは凄いと絶賛していますが、
具体的にどう凄いのかってのが、どんなところで使われているのかってのが分からないのですが…。
LISPが出きると、どういうときにそれを活かせますか?
この授業は卒業のため取らなければならない科目ではないのですが、
将来役に立つのなら、取って見ようかなと迷っています。
589 = :
学生なのに自分からは何も調べようとしないやつには、どんなことであろうと将来役に立たない
590 = :
lisp なんかできたとして、将来研究所とかに行かない限り用途ないのでは?
perl なり php なり使えたほうがバイトも出来ておとく。
591 = :
perlなんか授業でやるか?
592 = :
perlの授業あります。
将来はネットワークエンジニア希望です。
593 = :
>>592
いらないんじゃね?
594 = :
久しぶりに2chに来たらsageるつもりがageちまった。
595 = :
とりあえず、この板ってのは古い知識しか持たない老人が多いので、
こんな場所で進路相談をするのは不適切なんじゃないかなと思う。
596 = :
将来役に立つかっつったら微妙だわな。
だけど大学において考え方を学ぶ、学び方を学ぶって意味ではlispはおすすめ
かもしれず。
関係ないけど、「出きる」って変換は気持ち悪いな。
597 = :
LISPを使って(応用して)なにをするかによるだろう。
単純に、LISPを勉強するだけなら独学で(Emacs使ってるうちに)勉強
できるよ。なにしろ、単純な言語だからな。
インタプリタの作成とかまでやるんだったらいいんじゃないかな?
言語仕様が簡単だから結構楽しいと思うよ。
598 = :
> 将来役に立つかっつったら微妙だわな。
> だけど大学において考え方を学ぶ、学び方を学ぶって意味ではlispはおすすめ
> かもしれず。
関係ないけど、気持悪い書き方だな。
600 = :
> 訊
おじさん、何でこんな漢字つかってるの?
みんなの評価 : ○
類似してるかもしれないスレッド
- 【熱く】お前のEmacsにはまった理由【語れ】 (577) - [36%] - 2021/8/28 17:30 ○
- 「Emacsは消滅すべき」、ゴスリング氏 (127) - [17%] - 2023/1/12 15:45
トップメニューへ / →のくす牧場書庫について