今日の1日振り返ります。

ジャンルは不特定多数で、主にメモ書きですね。

jQuery にて文字数による制御する場合の注意点

はじめに

 このブログとは別に運営しているブログがあるのですが、大幅にカスタマイズしようと頑張っているところです。そこで、ある class 内で文字数による制御を行いたいといろいろと試行錯誤していたとこです。jQueryの .length を使うことで、文字数を取得することができるのですが全角文字、半角文字どちらでも1文字としてカウントされてしまいます。単純に文字数を知りたければ問題ないかもしれませんが、ある決まった幅の div の中に文字数を調整して表示したい場合、全角10文字と半角10文字では、表示された際の幅が異なってきます。そこで、自分なりに解決策を出しました。

問題点

 テキストエディタでも、Excelでもなんでもいいですが、「あいうえおかきくけこ」と「abcdefghij」と打ち込んでみていただければわかるかと思いますが、表示される横幅が違います。
f:id:San3saN:20151115132729p:plain
例えば、決まった幅・高さの div に 文字を表示させたい場合、文字数を越えると超えた分は表示されません。表示されない分を「...」とかに書き換えたい場合なんかに、文字数で制御したいと私は考えたのですが、jQueryの .length では全角と半角の文字ともに1文字と返すため、.length では制御できないことになってしまいます。

解決策

 そこで、全角は2文字として、半角は1文字としてカウントされるようにjQueryを書いてみました。内容は以下の様になってます。

<script type="text/javascript">
  <!-- 全角スペースは2文字 -->
  <!-- 全角は2文字 -->
  <!-- 半角は1文字 -->
  <!-- 半角スペースは1文字 -->
  <!-- 記号系はわからない(調べてない)多分1文字 -->
  $(function(){
    $("textarea").bind("keydown keyup keypress change",function(){
      var zen = $(this).val().match(/[^0-9 A-Z a-z]/g).length;
      var han = $(this).val().match(/[0-9 A-Z a-z]/g).length;
      var zen2 = zen * 2;
      var allall =  han + zen2;
      $(".count").html(allall);
      $(".count1").html(han);
      $(".count2").html(zen);
    });
  });
</script>

たいしたことはしていません。正規表現で、0,1,2,...,9 とA,B,C,...,Z と a,b,c,...,z の文字以外の文字をカウントしてそれを2倍。さらには、全体から左記の文字数を引いて、2倍したのと足しているだけです。AAAやらBBBやらpはそれぞれに合わせて書き換えてください。ここまでだせれば、文字数で制御が可能と成ってきます。

demo

でもです。テキストエリアに何か書き込んで(コピペでも)みると、下にトータルの文字数(これは、全角文字1文字を2とし、半角文字1文字を1とした時の数。)、半角の文字数、全角の文字数が表示されると思います。





現在0

半角0

全角0

さいごに

 文字数について半角と全角で幅が異なってるなんて言っておきながら、そもそも、全角の「1」の幅に対して半角の「1」の文字幅が1/2とは限らないわけです…。すると、最初に言った表示幅を決め打ちして、文字が表示幅からはみ出たら〜ってのは現実的でないような。こう言ったことはCSSのみで出来ようです。以下参照。

monopocket.jp



以上

Rの使い方おぼえがき

はじめに

 最近、Rを使うようになってきて、まだまだですがいろいろとまとめます。

Rの起動と終了

起動

r

終了

q()

また、終了の際には

Save workspace image? [y/n/c]: 

と聞かれますので、保存したい場合は y 。したくない場合は n 。やっぱり終了するのやめる場合は c 。とすればオッケーです。
また、この対話が煩わしい人は、

q("no")

とすれば保存せずに終了ができます。世の中には、これでも煩わし思う人もいます。そうです私です。.Rprpfile に

Q <- 1
class(Q) <- "quit"
print.quit <- function(x) {
    q("no")
}

を書き込んでやれば

Q

で R を終了することができます。

以下ブログを参照しました。
R を終了させる最短コードがおもしろい - ほくそ笑む

データの読み込み

ただのテキストファイルの場合は

data = read.table("ファイル名")

でいけると思います。=の前のdata は変数なので好きなものに変えても構いません。

このとき、

scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings

みたいなエラーがでることがあります。いろいろと原因があるかと思いますが私の場合、テキストファイルの中が

100\t2,100\t30,00\t500

(\tはtabのこと)
のようになっていて区切りが「tab」なのか「,」わからない状態でした。なので、この際「,」を消して「tab」を「,」に置換したら解決。または、読み込ませるときに

data = read.table("ファイル名",sep="\t")

とすることで、区切りは「tab」ですよ!と指定してあげることもできます。


以上

革靴を作る為に何すればイイの?

はじめに

 今回、革靴を自作するぞー!ってことで、記事を書いてます。が!何をどうしたらいいかわからん…。そこで今回はどんな工程があるのか調べてみた。大まかにですが。詳細はおいおい記事にしていきます。

革靴の製造過程とは?

 いろいろとWeb上で調べてみました。基本的にはどこも同じような感じです。箇条書きにすると以下のような感じかな?

 1.木型の作成
 2.型紙の作成
 3.裁断
 4.革すき
 5.縫製
 6.釣り込み
 7.底付け
 8.熱風、アイロンがけ
 9.靴型抜き
 10.仕上げ

参照元:
靴の製造工程:靴の出来上がるまでの流れを写真とともにご紹介します。サラヰ製靴株式会社:100%のご満足をお約束する靴作りを目指します
靴ができるまで|大きい靴屋

いろいろ分からない単語多すぎだな…。単語帳でも作るか!てか、かなりいばらの道だな…木型なんてどうやって作るんだよ…って感じです。

今回調べた内容から少なくとも、木型を作る技術いわゆる木工技術や革すきの技術、縫う技術なんて最低限必要だな。練習も同時進行で進めていくか!いつのなったら出来上がるのかな…?

以上


スポンサーリンク