数学、電気の勉強始めました!プログラムにも挑戦しています!|ω・)ノ

ねごとめも背景

# ねごとめも

# カウンター

# プロフィール

negotoy

Author:negotoy
電気の勉強始めました!
テキストエディタを使ってプログラミングに挑戦中。
fc2 ブログに公開しているテンプレート等は、自由にカスタマイズして、ご活用ください。
プログラム実行の前に必ずコードの確認をお願いします。

# 最新記事

# カレンダー

02 | 2017/03 | 04
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

# スポンサードリンク

{ <pre></pre> タグ版のテキストエディタ作成しました }


作ってるの、エディタとか言ってますけど、
テキストエリアに色付き文字を出力するだけのものです。(*‘ω‘ *)

前回作成したテキストエディタ?
→ { contenteditable 属性を利用したテキストエディタの作成 }
今回の
→ { javascript で動作するテキストエディタの作成( 2 ) }
あと、こちらのサイト→( jsdo.it )にプログラムを公開してみました。

ブログのページによっては、 css の ID がか重なったり、
javaScript の関数が重なったりして、
レイアウトが崩れたり、スクリプトが正しく動かなかったりしたので、
ホームページ を作ったのだけど、
こういう便利なサイトもあるのね。。しらなかった。_(:3」∠)_
ホームページは、更新のリンク付けが非常にめんどくさい。


今回のは、正規表現の機能を追加してみました。
動作確認やって、 jsdo.it に公開したのだけど、正規表現を [^xyz] の値で処理させると
ブラウザがクラッシュしてしまう事が分かりました。
ええええ、と思って、一回目の処理の回数を取ったら 8000回 、
それをもって、二回目、三回目・・・の処理へと。。。
原因は、正規表現を使った処理のやり方でした。
一回目の処理で、一回目にマッチした文字を、書き出す html タグを付けて出力。
二回目は、一回目に書き出したダグ付の文字列に対して、処理をやっていたから、
付け足したタグの文字列の中に、マッチした文字が含まれていると、
無限ループに近い状態になり、ブラウザがクラッシュしていたようです。
このことに、気づかずに公開してました。
出来る範囲で、一応、修正はしました。

正規表現には、無限ループってのがあるらしいです。
ココは、使うひとの判断に任せます。ヽ(´ー`)ノ





使用ブラウザ:chrome
HTML5から導入された属性に contenteditable というのがあるらしい。
これは、前回の { テキストエリアに色付き文字を表示出力する } を作成する過程でみつけたもの。
この属性は、html タグの div タグなどを編集可能なテキストエリアにしてしまうもの。
使いみちは、いまいち分からないけど、面白い機能だと思った。

前回のは、テキストエリア要素に、JavaScript で色付きの文字を表示させましたが、
これは、見た目そう見えるだけで、テキストエリアは透明にして見えないように設定しています。
テキストエリア要素の中にタグを設置しても反映されないので、文字に色を付ける事はできません。
なので、その下に、pre タグを重ね合わせ、文字が入力されると、
pre タグに対して処理を行うものでした。

しかし、この contenteditable 属性は、色などを指定したタグを
直接設置することが出来るとの記事を見つけたので、
さっそく、試してみました。
最初は、 div 要素を使ってテキストエディタ風の色文字の出力に挑戦したのですが、
改行をうまく処理する JavaScript を書くことが出来ません。_(:3」∠)_

contenteditable 属性を利用した簡易テキストエディタ

プログラムはこちらのサイトで公開しています
→ contenteditable 属性を利用したテキストエディタの作成


なので、改行のエスケープシーケンスが使用できる pre タグで試してみると、同じく動作。
改行もエスケープシーケンスが使用出来たので、処理が楽になり、
目標の色付き文字を出力する所までは作成する事が出来ました。


作成に使用したブラウザは chrome 
この要素の処理を行う JavaScript には互換性がないので、chrome 以外では動作しません。
なので、ブラウザのバージョンが上がると動かなくなる可能性もあると思います。


fc2 ブログにもあるテキストエリアの文字が色付で表示出来る html エディタ。
これは、JavaScriptで動作してるのかな?
詳しくは分からないけど、{ テキストエリアに色付き文字を表示出力する } に挑戦してみました。
本格的なものは無理なので、触りの部分のみ。
テキストエリアに入力した文字を色付で表示させる所まで。

テキストエリアの文字に色をつけるには、透明なテキストエリアと pre タグを
重ねることで、それらしく動作させることが出来ました。

最初に作成したのは、 setInterval 関数でテキストエリアを監視して
文字に色を付けてましたが、
onkeypress イベントが発生したときのキャレットの正しい位置を setTimeout 関数で
遅らせる事で取得出来る事がわかりました。
なので、 setInterval 関数を使わないように修正しました。

キャレットの位置の確認 → テキストエリアのキャレットの位置の取得

JavaScript で動作するプログラムは、
こちらのサイトに置いてます → テキストエリアに色付き文字を出力する( javascript )

{ テキストエリアに色付き文字を出力する:β }

red
blue
green
purple
 red
blue
green
purple
{ 色をつけて出力する文字群 }




最近、電気の勉強しないで、暇さえあれば、 javascript って、
感じになってる。( ˘ω˘ )

今回は、最大公約数と最小公倍数を計算するツールを
javascript 作成してみた。

とりあえず、自力で作成して、エラー無く動作することを、一応確認!
最大公約数、最小公倍数を計算するサイトで、
出力結果の答え合わせはしたけど、なんか、微妙な感じ。


最大公約数、最小公倍数を求めるのにはユークリッドの互除法ってのが
あるらしい。

今回は、そのアルゴリズムを使用しないで作成したので、
javascript の処理も、もっさりしているのかもしれない。


今回、作成したプログラムは、
こちらのサイトに公開しています。 → 最大公約数と最小公倍数を求める


{ 最大公約数と最小公倍数を求める 数値の入力 }
整数 :

{ 最大公約数と最小公倍数の結果 }

最大公約数 = ------
- - - - - - -
最小公倍数 = ------
- - - - - - -


電気の勉強しなきゃ。。。_´ω`)_



素因数分解と平方根の再確認です。

テキストボックスに整数を入力して、変換ボタンを押すと、
整数を素因数分解して出力します。
また、整数の平方根を平方根の記号( ルート : √ )付きの形で出力します。

大きな数を入力して実行すると、処理に時間が掛かってしまいました。
なので、上限を 10000 に設定しています。


プログラムは、こちらに引越ししました → { 素因数分解とルートの記号付出力 }

{ 素因数分解の再確認 }
整数 : a =

素因数分解 : a =
平方根 : √a =






# スポンサードリンク