August
30

三項演算子の解読

意外と難しいんですよね。三項演算子からifへの変換。
とりあえず手でゴリゴリやる方法まとめてみたいと思います。
まず始めに最初のif(条件文)の条件文にあたる部分を探します。
ここはそこまで戸惑うこともないと思います。
48 <= a && 49 >= a ? (a -= 48, e(a)) : 50 === a ? e("") : 51 === a && !1 === a.code ? e("") : 32 === a ? e("") :9 === a ? e("") : 1 === a && !0 === a.code ? e("") : 13 === a ? e("") : 6 === a || 35 === a ? e("") : 72 === a ? e("") : 73 === a ? e("") : 74 === a ? e("") : 75 === a ? e("") : 76 === a && e("");

次に?と:を変えていきます。?を消すとよくわからなくなることがおおいので、とりあえずとっておきます。
ガリガリ…でこうなります。
if(48 <= a && 49 >= a) ? {
(a -= 48, e(a))
}else
: if(50 === a) ? {
e("")
}else
: if(51 === a && !1 === a.code) ? {
e("")
}else
: if(32 === a) ? {
e("")
}else
:if(9 === a) ? {
e("")
}else
: if(1 === a && !0 === a.code) ? {
e("")
}else
: if(13 === a) ? {
e("")
}else
: if(6 === a || 35 === a) ? {
e("")
}else
: if(72 === a) ? {
e("")
}else
: if(73 === a) ? {
e("")
}else
: if(74 === a) ? {
e("")
}else
: if(75 === a) ? {
e("")
}else
: if(76 === a) e("");
まず?の前後をみて、)と{を後ろ、if(を前につけます。
次に:の前後をみて、}とelseをつけます。
ついでに&&などがあったら、そこも変えます(ラストのif(76 === a) e("")の部分です)。

最後に?と:を消して完成です。
if(48 <= a && 49 >= a){
(a -= 48, e(a))
}else if(50 === a){
e("")
}else if(51 === a && !1 === a.code){
e("")
}else if(32 === a){
e("")
}else :if(9 === a){
e("")
}else if(1 === a && !0 === a.code){
e("")
}else if(13 === a){
e("")
}else if(6 === a || 35 === a){
e("")
}else if(72 === a){
e("")
}else if(73 === a){
e("")
}else if(74 === a){
e("")
}else if(75 === a){
e("")
}else if(76 === a) e("");
もちろんみじかくできます。

if(48 <= a && 49 >= a) (a -= 48, e(a))
else if(50 === a) e("")
else if(51 === a && !1 === a.code) e("")
else if(32 === a) e("")
else :if(9 === a) e("")
else if(1 === a && !0 === a.code) e("")
else if(13 === a) e("")
else if(6 === a || 35 === a) e("")
else if(72 === a) e("")
else if(73 === a) e("")
else if(74 === a) e("")
else if(75 === a) e("")
else if(76 === a) e("");

今回のコード、ある程度原型から崩したので、無駄が多いように見えますが、本当は違います。きちんとしてます。e("")がそれぞれ違います。

変換機欲しいのであとでやってみたいとおもいます。

この変換ってあまり需要ないかな…?

Leave a Reply

Name *

Mail

URL

Comment *

※私が承認したコメントのみ表示されます。
トラックバック URL

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。