ユニバーサルスプーキーミームトランスレーター


43

前書き

エイリアンは、私たちと同じくらいミームを愛しています。ただし、これまでに遭遇したすべてのエイリアンレースには、独自のバージョン2spooky4me次の質問を参照)と同等のバージョンがありますが、いくつかのバリエーションがあります。惑星CUTE1fの住民は大量のスプークを処理できないため、優先される1spooky2meスプークはです。一方、skeletor7のメマーはスプークが好きなので、使用する傾向があります9spooky11me

チャレンジ

ミームの翻訳は大変な仕事なので、あなたはこれらの人々がmemenetに正しくアクセスするのを助けるために、普遍的なミーム翻訳者を書くことを任されました。あなたのプログラムは、ミームとそのミームの数字列に適用する変換を受け入れて、異なる惑星の住民に適切なものにします。

入力

プログラムは2つの文字列入力を受け取ります。

  1. 入力ミーム(例2spooky4me)。一致し[a-zA-Z0-9]+ます。
  2. (例えば、それに適用する変換+1から行くために、2spooky4me3spooky5me)。マッチ[+\-*/^]\d+(あなたが受け入れなければならない+-*/、および^演算子として、関係なく、あなたの言語でのネイティブ表現)。

出力

プログラムは、入力ミームの数字シーケンスに適用された変換を使用して、文字列出力(標準出力または同等のものに出力)を返す必要があります。奇妙な出来事では、これまでに遭遇したすべての種族が分数のものよりも整数のミームを好むため、これらの変換は整数演算を実行する必要があります(たとえば、1spooky1me /2結果は0spooky0me)。

標準の算術演算が適用されます:

Input:  2spooky4me +1
Output: 3spooky5me

Input:  2spooky4me -1
Output: 1spooky3me

Input:  2spooky4me *15
Output: 30spooky60me

Input:  10spooky900me /5
Output: 2spooky180me

数字列は整数です。整数の切り捨ては、次のような場合に発生するはずです。

Input:  idontunderstandmemes3 /2
Output: idontunderstandmemes1

入力には数字列がない場合があります。

Input:  notreallyafunnymeme *100
Output: notreallyafunnymeme

選択した言語のネイティブ操作ではない場合でも、累乗をサポートする必要があります。

Input:  2spooky4me ^3
Output: 8spooky64me

文字列内の数字列の数の文字列の長さに制限はありません:

Input:  some1meme2sequences3can4be5really6long7 /2
Output: some0meme1sequences1can2be2really3long3

補遺

言語が言語機能として任意精度の整数をサポートしている場合、それらを使用する必要があります。サポートしていない場合、任意精度の整数をサポートする必要はありません。たとえばInteger、Haskell Intは言語の一部として使用できるため、代わりにHaskellで使用する必要があります。ではJavaBigInteger言語機能ではなくライブラリ機能であるため、使用する必要はありません。

Input:  2000000000000000000000000000000000000000000000000000000000000000000000000000000‌​000000000000000000000000000000000spooky4me /2
Output: 1000000000000000000000000000000000000000000000000000000000000000000000000000000‌​000000000000000000000000000000000spooky2me

これはであるため、標準の抜け穴は禁止されており、バイト単位の最短回答が優先されます!

リーダーボード

この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、およびb)リーダーボード全体としての回答からリーダーボードを生成します。

回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。

## Language Name, N bytes

N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば:

## Ruby, <s>104</s> <s>101</s> 96 bytes

ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。

## Perl, 43 + 2 (-p flag) = 45 bytes

言語名をリンクにして、スニペットに表示することもできます。

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


3
最後のテストケースが間違っています。出力に0が多すぎて/ 5になりません。
ニックハートリー

5
まず第一に、これは最初の投稿をかなりうまくまとめたものです。おめでとうございます:) フィードバックを公開する前に、フィードバックのためにチャレンジを投稿できるSandboxがあることに注意してください。
FryAmTheEggman

3
PPCGへようこそ(2年以上もここにいるようですが)。素敵な最初の挑戦。任意の精度の整数に関する補遺は、たとえば、Java BigInteger計算に使用する必要があることを義務付けていますか?
AdmBorkBork

18
これまでに遭遇したすべての異星人種...それは完全に真実です!:-)
ルイスメンドー

2
それはあなたの挑戦であり、最終的にはあなた次第ですが、それはたまたま異なる構文を使用する言語に対しては公平ではありません。
デニス

回答:


10

Jolf、15 14バイト

ρi«\d+»dC!6+HI

ここで試してみてください!

説明

ρi«\d+»dC!6+HI
ρ «\d+»         replace all digits
 i              in the input
       d        (functional replace)
         !6     eval (using jolf's custom infix eval)
           +H   the number as a string plus
             I  the second input
        C       floor the result (integer truncate)

面白いことに、このチャレンジ後にJolfを更新し、RegExpビルトインを追加しました。これは12 11バイトです。

ρiLRdC!6+HI

24

ルビー、50 44 43バイト

FGITWの答え。早く行かなきゃ!

6バイトを節約してくれた@Neilに感謝します。

そうそう、取り消し線44はまだ44

->m,t{m.gsub(/\d+/){eval$&+t.sub(?^,'**')}}

ああ、男、これはほとんど正確に私が離れて突っついていた答えですa=gets;$><<gets.gsub(/\d+/){eval$&+a}。私は^!= **を逃しましたが、おそらくもう少し長いでしょう。
ニックハートリー

3
ソリューション全体をPowerShellで処理するために必要なものよりも4バイト短くするための+1 ^。:D
AdmBorkBork

15

Perl、36 34バイト

s/\d+/"0|$&$^I"=~s#\^#**#r/gee

ソースコードの長さは30バイトで、スイッチが必要です-pi+4バイト)。STDINから最初の入力を受け取り、2番目の入力をの引数として受け取ります-i

2バイトのゴルフをしてくれた@DenisIbaevに感謝します!

Ideoneでテストします。


うん、私は誰もが私のRubyの答えを打つことができれば、それはデニスこと、および/またはPerlであることと考えました、そして、あなたは同時に両方の期待を満たすことになった
バリューインクを

1
-pi4バイトですか?
CalculatorFeline

@CatsAreFluffy 現在のコンセンサスは、フラグなしで呼び出しから編集距離をカウントすることです。これには-pi、コマンドの残りの部分から分離するスペースが含まれます。
デニス

"0|$&"はより短いです"0|".$&
デニスイバエフ

@DenisIbaev入力は英数字なので、"0|$&$^I"機能します。ありがとう!
デニス

9

PowerShell v2 +、139 137バイト

param($a,$b)-join($a-split"(\d+)"|%{if($_-match"\d+"){if($b[0]-ne'^'){[math]::Floor((iex $_$b))}else{"$_*"*$b.Trim('^')+1|iex}}else{$_}})

Ooof ...これ^はPowerShellのネイティブオペレーターではないため、47バイトです。@TessellatingHecklerのおかげで2バイト節約されました。

入力を受け取り$a=<word>$b=<operation>のような、.\universal-spooky-meme.ps1 2spooky4me ^3。我々-split $a数字上、括弧で我々はループを通して結果の配列を区切り文字を維持し、パイプように囲みます|%{...}。現在のピースが数字の場合、最初のにいifます。の最初の文字がであるかどうかを確認する必要が$bあり^ます。そうでない場合は、単に現在のピースを連結して$b送信しiex(に類似eval)、パイプラインに残します。そうでなければ、我々は指数で文字列を作成する必要がある"$_*"*$b.Trim('^')+1ことに、パイプをiex、パイプライン上でそのままにしておきます。指定された2spooky4me ^3例では、これはそれぞれ2*2*2*14*4*4*1になります。

それ以外の場合は、文字列をそのままパイプラインに残します。

これらの結果はすべて、カプセル化された括弧でパイプラインから収集されてから、-join1つの文字列にまとめられます。これはパイプラインでの再左記であり、出力はプログラムの終了時に暗黙的に行われます。

PS C:\Tools\Scripts\golfing> .\universal-spooky-meme.ps1 2spooky4me ^5
32spooky1024me

PS C:\Tools\Scripts\golfing> .\universal-spooky-meme.ps1 2spooky4me /3
0spooky1me

答えを見る前に自分で書きました。それからあなたのアイデアもいくつか摘みました。ありがとう。私はあなたが交換することができると思うFloor(("$_$b"|iex))Floor((iex $_$b))カップルを保存するために、または多分iex $_+$b
TessellatingHeckler

@TessellatingHeckler 2バイトありがとう!
AdmBorkBork

8

JavaScript(ES7)、58 57バイト

(s,t)=>s.replace(/\d+/g,n=>0|eval(n+t.replace('^','**')))

編集:replaceリテラル文字列でも動作することを思い出したときに1バイトを保存しました。


クール、私はES6ソリューションに取り組んでいます
バリント

カレーでバイトを節約できますか?
-gcampbell

1
@gcampbellはい、でも私は面倒です。
ニール

6

Pyth、29

Jws.i:zK"\d+"3m.vs.iJ]+d;:zK1

これは、ミームから各数値を抽出し、その後に.iスペースを続けてインターリーブ()し、他の引数でリストにラップすることで機能します。したがって、番号が7あり^20、リストがある場合は、リストを取得します["^", "7 ", "20"]。これでPythのeval.v)を平坦化して使用すると、常に必要な操作が得られます。最後に、これらの値は、数値の出現時に分割された元の文字列でインターリーブされます。

これは、両方の入力が引用文字で囲まれている場合は1バイト短くなり、一方だけが引用できる場合は2バイト短くなります。

ここで試してみるか、テストスイートを実行してください


6

Python 2、156 89 88 87バイト

言語の置換関数と関数ハンドラーを使用して、長いinput文字列の数値部分をペレーターで処理する他の回答に触発されましたo。Pythonにとって不運なのは、^に置き換える必要があり**、そのコストはなんと18バイトです。一致オブジェクトの文字列表現.group(0)にアクセスするだけの呼び出しでは、状況は改善されません...

偽のスペースを見つけてくれたQPaysTaxesと、不要な引数を与えてくれたRootTwoに感謝します.group

import re
lambda i,o:re.sub(r'\d+',lambda p:str(eval(p.group()+o.replace('^','**'))),i)

後にスペースを取り除くことができると思いますi,o:
ニックハートリー

さらに2バイト節約できます:(1)を使用してp.group()。(デフォルトは0); (2)r=re.sub;最初のre.sub呼び出しを挿入してrから、r('^','**',o)代わりに使用するo.replace(...)
-RootTwo

@RootTwo:私にとっては、 r('^','**',o)それから逃れる必要と^する\^文字ではなく、最初の一致させるためにo、ネット何バイト:-(を保存していない-しかし、不要な指摘に感謝0!を
ojdo

5

Javascript(ES6)99バイト

別の例、ES7が互換性を得るのを待つのが嫌いな理由

(a,b)=>a.match(/\d+|\D+/g).map(_=>(d=- -_)?eval(b[0]=="\^"?Math.pow(_,b.slice(1)):d+b)|0:_).join``

実行可能な例:

f=(a,b)=>a.match(/\d+|\D+/g).map(_=>(d=- -_)?Math.ceil(eval(b[0]=="\^"?Math.pow(_,b.slice(1)):d+b)):_).join``

alert(f(prompt("Enter string!"), prompt("Enter operation!")));


一致する正規表現は少しずれているようです。実行可能な例では、大文字を省いて、結果からそれらを取り除きます( "2spooky4ME"、 "+1" => "3spooky5")。最初の例では、と一致します。\d+|\D+これはに相当し.+ます。[a-zA-Z0-9]+あなたが望む正規表現ですか?または[a-zA-Z]+|[0-9]+、分割が違いを生む場合は?
イタイファーバー

Math.powとにかく特別なケースを用意する必要があるので、おそらく直接呼び出す方が簡単でしょう。また、整数除算を使用していますか?
ニール

@ニール、私はそれを忘れました、分
バリント

@ニールは天井のためのより良い方法がありますか?
バリント

1
@ItaiFerberはと\d+|\D+まったく同じではありません.+。kleene拡張はの前に起こるのでそれらは同じではありませんor。のように見えても同じです(\d|\D)+が、そのままでは2a、1つのグループのすべてに一致するわけではなく、2つの別々のグループになります。
FryAmTheEggman


4

Kotlin、416 413バイト

eval()Kotlin の欠如は、そのバイト数を実際に増やしました...

fun main(a:Array<String>){var r=Regex("\\d+");var i=a[0];var n=a[1].takeLast(a[1].length-1).toInt();when(a[1][0]){'+'->print(r.replace(i,{m->""+(m.value.toInt()+n)}));'*'->print(r.replace(i,{m->""+(m.value.toInt()*n)}));'/'->print(r.replace(i,{m->""+(m.value.toInt()/n)}));'-'->print(r.replace(i,{m->""+(m.value.toInt()-n)}));'^'->print(r.replace(i,{m->""+(Math.pow(m.value.toDouble(),n.toDouble())).toInt()}));}}

オンラインでお試しください!

非ゴルフ

fun main(a: Array<String>) {
    var r = Regex("""\d+""")
    var i = a[0]
    var n = a[1].takeLast(a[1].length - 1).toInt()
    when (a[1][0]) {
        '+' -> print(r.replace(i, { m -> "" + (m.value.toInt() + n) }))
        '*' -> print(r.replace(i, { m -> "" + (m.value.toInt() * n) }))
        '/' -> print(r.replace(i, { m -> "" + (m.value.toInt() / n) }))
        '-' -> print(r.replace(i, { m -> "" + (m.value.toInt() - n) }))
        '^' -> print(r.replace(i, { m -> "" + (Math.pow(m.value.toDouble(), n.toDouble())).toInt() }))
    }
}

4

PowerShellの(V4)、124の 120バイト

# New 120 byte version:
$s,$a=$args;[regex]::Replace($s,'\d+',{($(if($a-ne($a=$a.Trim('^'))){
"$args*"*$a+1}else{"$args$a"})|iex)-replace'\..*'})

# Previous 124 byte version
$s,$a=$args;[regex]::Replace($s,'\d+',{if($a[0]-eq'^'){
[math]::pow("$args",$a.Trim('^'))}else{iex "$args$a-replace'\..*'"}})

(改行は水平スクロールを避けるためにここにのみあり、1行として保存すると機能します)。

コメント、および非ゴルフバージョンが要求されました:

$meme, $instruction = $args

# Scriptblock which processes the numbers
# to be replaced. $args is the input number.
$replacement = {

    # Generates a string of the calculation, by:
    # Removing leading ^ character, if present.
    # ^3 -> 3,      +3 -> +3
    # See if it was present, and switch code paths.
    # (Can be one combined step in the golf)
    # Switch code paths for "raise to the power of",
    # or basic arithmetic.
    $trimmedInstruction = $instruction.Trim('^')
    $tmp = if ( $instruction -ne $trimmedInstruction ) {

        # String multiplication, changes
        # function input "45" and instruction "3" into
        # "45*45*45*+1". The "3" implicitly casts to [int]
        # the +1 is there to make the trailing * not crash.
        "$args*" * $instruction + 1

    } else {
        # Cobble the basic math together as a string
        # "45" and "+10" becomes
        # "45+10"
        "$args$instruction"
    }

    # eval() the generated string (e.g. "45+10" or "45*45*45*+1")
    $tmp = Invoke-Expression $tmp      # iex

    # Use a regex golf to replace trailing .23423
    # decimals in case of division with remainder.
    # Acts as [math]::floor(), harmless on other numbers.
    $tmp -replace'\..*'
}

# A regular expression replacement which picks out all 
# the numbers (\d+) and runs them through the
# replacement function. Returns a string which 
# ends up on stdout
[regex]::Replace($meme, '\d+', $replacement)
  • .Net正規表現ライブラリは、一致のコンテンツで実行されるスクリプトブロックで置き換えることができ、PowerShellは型文字列を数値にキャストします。これは他の言語iexと同様eval()です。それはただ"2spooky" "+3"->eval("2+3")
  • 例外として、^演算子やのような他の便利なべき乗を処理できません。ライブラリ呼び出し**しか使用できないため、[math]::Pow()その分岐を処理するための大きなブロックがあります。
    • 更新されたバージョンは、@TimmyDからアイデアを盗み、代わりに文字列の乗算を行う- "2*" * nになる"2*2*2*2*"と、その後追加+1の代わりに末尾に文句の一つで乗算に終わりに*
  • ただし、.Netは、デフォルトで最も近い偶数に丸めるBanker's Roundingを実行します。3/ 2 = 1ではなく3/2 = 2です。このチャレンジでは、切り捨てが必要になり[math]::Truncate()ます。代わりに、-replace小数点以下をトリミングするために使用して文字を保存します。

テストケース:

PS D:\> .\meme.ps1 2spooky4me +1
3spooky5me

PS D:\> .\meme.ps1 2spooky4me -1
1spooky3me

PS D:\> .\meme.ps1 2spooky4me *15
30spooky60me

PS D:\> .\meme.ps1 10spooky900me /5
2spooky180me

PS D:\> .\meme.ps1 idontunderstandememes3 /2
idontunderstandememes1

PS D:\> .\meme.ps1 "idontunderstandememes3" "/2"
idontunderstandememes1

PS D:\> .\meme.ps1 "notreallyafunnymeme" "*100"
notreallyafunnymeme

PS D:\> .\meme.ps1 "2spooky4me" "^3"
8spooky64me

PS D:\> .\meme.ps1 "some1meme2sequences3can4be5really6long7" "/2"
some0meme1sequences1can2be2really3long3

PS D:\> .\meme.ps1 2000000000000000000000000000000000000000000000000000000000000000000000000000000‌​000000000000000000000000000000000spooky4me /2
1E+78‌​0spooky2me

NB。最後のテストでは、数値は[BigInteger]自動的に型にオーバーフローしますが、科学表記法でレンダリングされます。幸いなことに、星間で通信できるすべての既知の人種は、科学表記法を問題なく処理できる十分な科学的発展を持っています。


1
他の回答では、コードの動作を調べるために、かなり読みにくいゴルフバージョンを提供してから、別のゴルフバージョンを提供する方法を見ることができます。あなたはこれを行う必要があります(つまり、ゴルフバージョンの改行を削除します)。
jpmc26

クレジットに感謝しますが、私のトリックではありません-PowerShell Tipsスレッドからそれを引き出しました。
AdmBorkBork

どうやら、私はコメントを残すのに十分気を配っており、他の誰かが私のコメントに賛成するのに十分気にしている。;)
jpmc26

いいえ、完全にゴルフ版と完全に非ゴルフ版を用意する必要があると言いました。ゴルフをした人はスクロールが必要になります。持っていないものはあなたが持っているものよりも読みにくくなります。
jpmc26

1
@ jpmc26 OK、コメントなしのバージョンで編集しました。
TessellatingHeckler

3

Bash + GNU coreutils、144バイト

d=
u=$1,
for((i=0;i<${#u};i++)){ l=${u:i:1}
[[ "$l" =~ [0-9] ]]&&d=$d$l||{ [ -z $d ]||echo -n `bc<<<$d$2`&&{ [ $l != , ]&&echo -n $l; };d=; }
}

これは、数字と非数字の間の変更を調べます。そのため、ランダムな無効な入力文字(コンマ)が入力文字列に追加されます。このコンマは、出力では無視されます。OPの規則は、bcここで数学を行うために使用される構文に正確に従います。


ところで、@ TessellatingHecklerによるPowerShell-solutionでの議論のため、私のソリューションでは、改行をセミコロンに置き換えてプログラムを1行に変換することができます。
-rexkogitans

3

Lua、145 93バイト

r=io.read;m=r()o=r()m=m:gsub("%d",function(n)return loadstring("return..."..o)(n)end)print(m)

関数を投稿するだけではどうですか?
バリント

2

R、163バイト

Rで正規表現と文字列置換を学習している人として、これは非常に難しい課題であることがわかりました。特に、数字の照合は簡単ですが、複数の置換を使用する方法が見つかりませんでしたgsub。さらに、eval(parse(paste0(...操作を切り替える最も効率的な方法であるかどうかはわかりません。switchここでは、おそらく-functionの方が適しています。

function(s,o){p=strsplit;y=p(gsub("\\d+","?",s),"?")[[1]];x=na.omit(as.integer(p(s,"[a-zA-Z]+")[[1]]));y[y=="?"]=floor(eval(parse(,,paste0("x",o))));cat(y,sep="")}

説明

f=function(s,o){
    p=strsplit                                    # alias for stringsplit    
    y=p(gsub("\\d+","?",s),"?")[[1]]              # substitute numbers with "?" and split into vector on "?"
    x=na.omit(as.integer(p(s,"[a-zA-Z]+")[[1]]))  # split at alphabetical char, return vector with numbers to be operated on
    y[y=="?"]=floor(eval(parse(,,paste0("x",o)))) # replace inserted "?" with vector of numbers operated on
    cat(y,sep="")                                 # print concatenated vector
}

gsubをマッチのクロージャとともに使用すると、大量のバイトを節約できると思います。これはコメントで示唆したとおりです。しかし、Rでそれを行う方法はわかりません。Groovyでそれを行う方法を見つけるまで、私もそれと格闘しました。ほぼゲームチェンジャーでした。
魔法のタコUr

2

Javascript(ES6)、85バイト

x=(s)=>{var a=s.split(" ");return[...a[0]].map(x=>(!isNaN(x))?eval(x+a[1]):x).join``}

console.log(x("2spookie5me +1"));

ゴルフをしていない:

x = (s) => {
  var a = s.split(" ");
  return [...a[0]].map(x => (!isNaN(x)) ? eval(x + a[1]) : x).join ``
}
console.log(x("2spookie5me +1"));

Spread演算子を使用してスペースを分割できるかどうか誰でも知っていますか?これからs.split( ""); ["" ... s]; 少なくともそれはアイデアです。
ブラジミールルイス

()ラムダ引数の周りは必要ありません。必要ありません。var中括弧の代わりに括弧とカンマ演算子を使用する必要がありますreturn
-Cyoce

また、^JavaScriptに特別なケースで、それはビット単位のXORの代わりであるMath.pow
サニーしゃれ

2

Groovy、64 60バイト

{a,b->a.replaceAll(/\d+/,{Eval.me(it+b.replace("^","**"))})}

数字のすべてのインスタンスを、渡された単語の数字部分の操作を評価するクロージャに置き換えます。指数関数が渡されると、適切な表記に置き換えられます。Groovyは、使用時にBigInteger / BigDecimal変換を暗黙的に処理します。Eval.me()解析された文字列は、2^32-1範囲ます。

説明した

{a,b->...} -2つの引数を持つクロージャ。

a.replaceAll(/\d+/,{...}) -文字列内のすべての数字列を検索し、クロージャに置き換えます。

{Eval.me(it+b.replace("^","**"))} -より具体的には、各マッチにオペレーションが追加されたクロージャーは、グルーヴィーなコードとして評価されます。

.replace("^","**")-の最初のインスタンスを^**提供された操作のgroovy指数演算子に置き換えます。これを指数を使用する完全な方程式文字列で動作させるには、次を使用します。replaceAll()代わりに+3バイトのペナルティを使用します。

おもしろいことに、彼は有効なテストシナリオです。
(22348952345238905290858906209862398036spooky409552me, /200*4943^8-23939+((100/203)+600)


1

RProgN、39バイト

►x='%d+'§x'%D+'''Rx'%d+'''Rg'y'=y_}R

説明した

►x='%d+'§x'%D+'''Rx'%d+'''Rg'y'=y_}R
►                                       # Spaceless segment.
 x=                                     # Assign the top value of the stack '[+*/-]\d+' 
   '$d+'§                         }R     # Replace everything in the pattern %d+ (all numbers) based on an anonymous function 
         x'%D+'''R                      # Replace all Non-digits in the modifer with nothing, leaving just the second argument for the operator.
                  x'%d+'''R             # Snip all digits, separating our operator from our digits such that digit operator exists in the stack.
                           g'y'=        # Grab the function that is represented by the top of the stack (the operator in this case)
                                y       # Run it
                                 _      # Floor the result. 

この言語は存在しなかったため、技術的に無効な答えです。ただし、そのために特別に設計されたものでも、特定の追加物でもありません。だから私はそれを実行しています。スーミー

オンラインでお試しください!


0

Perl 6、111バイト

{/(\w+)\s(<[+\-*/^]>)(\d+)/&&my \b=+$2;my \o=(*+b,*-b,* *b,*div b,* **b)[index "+-*/^",$1];$0.subst(/\d+/,o):g}

残念ながらEVAL、デフォルトでは無効になっています。また、div整数除算に使用する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.