タスクは簡単です。1つの言語で'abc'
実行すると文字列のみが出力され、別の言語で実行すると文字列のみが出力される単一のコードスニペットを記述します'cba'
。プログラムは何も入力しないでください。
これはコードゴルフの挑戦です。
ABC
代わりに印刷できますかabc
'ABC'
そして'CBA'
、
タスクは簡単です。1つの言語で'abc'
実行すると文字列のみが出力され、別の言語で実行すると文字列のみが出力される単一のコードスニペットを記述します'cba'
。プログラムは何も入力しないでください。
これはコードゴルフの挑戦です。
ABC
代わりに印刷できますかabc
'ABC'
そして'CBA'
、
回答:
disp(flip('abc',size(randsample(2,2),2)))
MATLABではrandsample(2,2)
、2×1のベクトルが得られるため、size(...,2)
です1
。したがってflip
、シングルトンである最初の次元に沿って適用されるため、元の文字列'abc'
が表示されます。
Octave randsample(2,2)
では1×2のベクトルを与えるため、size(...,2)
です2
。したがってflip
、2番目の次元に沿って適用されます。つまり、文字列は左から右に反転します。
version
バリアントを使用する場合、これは数バイト短くなると思います。
exit
代わりに-1バイトを使用しますprint
(ただし、現時点ではすべての回答に適用されます)。
-1バイト私が行った場合==0
に>0
それは、すでに別の答えです
print('acbbca'[1/2==0::2])
print('acbbca'[1/2==0::2])
1/2
与え0
パイソン2(floordiv)及び0.5
(truediv)はPython 3にこのように、1/2==0
(実際には、ブール値が、それらは単なる整数である)のPython 2にはPython 3で1と0を与え、これ'acbbca'[1::2] => 'cba'
はPython 3のために与えられ、'acbbca'[0::2] => 'abc'
Pythonのために与えられます。 2。
"ABC"
Excel "CBA"
の呼び出し側セルおよびGoogleスプレッドシートの呼び出し側セルへの入力と出力を行わない匿名のワークシート式
=IfError(M("CBA"),"ABC")
GoogleスプレッドシートでM(...)
は、はのエイリアスであり、オートフォーマットされますT(...)
(の略Text()
)。この呼び出しは、渡された変数のテキスト値を返します"CBA"
。"CBA"
エラーとしてキャッチされないため"CBA"
、IfError(...,"ABC")
ExcelにはM(...)
関数M(...)
はなく、エイリアスではないためM("CBA")
、式が見つからないというエラーを返します#NAME?
。これに捕らえられIfError(...,"ABC")
、順番に戻ります"ABC"
。
説明については編集をご覧ください
=If(IsErr(A()),"ABC","CBA")
=If(IsErr(GT()),"ABC","CBA")
=IfError(If(Info("NUMFILE"),"ABC"),"CBA")
iserr
代わりにiferror
し、代わりに「NUMFILE」の「SYSTEM」を使って、1バイト:=IF(ISERR(INFO("SYSTEM")),"cba","abc")
@HyperNeutrinoに彼の答えのほとんどを盗んだことをおaびします(まだコメントする評判はありません)
print('acbbca'[1/2>0::2])
print('acbbca'[1/2>0::2])
<1
です。
<!--
strrev=console.log//--><?=
strrev("abc");
abc
JSおよびcba
PHPで印刷します。
PHPをオンラインでお試しください!(TIOはHTMLコメントを隠さないことに注意してください(<!--
... -->
)
<!--
Node ではどのように解釈されますか?
//
(source)のように1行のコメントとして解釈されます。ブラウザJSでも同様に機能します。
--> blah blah
JavaScriptインタープリターの有効なコメントです。削除するだけでよい//
try:long;print('abc')
try:cmp;print('abc')
Excelにのみ存在する関数を使用した@TaylorScottに触発され、Googleスプレッドシートにのみ存在するさらに短い関数を見つけました。便利なことに、文字列を返すように設計されています。
=iferror(join(,"cba"),"abc")
使い方
Googleスプレッドシートでは、join([arg1], arg2, arg3,...argk)
連結されますARG2 > - argkを随意に指定されたセパレータ用いて、ARG1を。この場合、「cba」を正常に返します。
Excelにはjoin
機能がないためiferror
、問題が発生し、「abc」を返します
'c'b'a]$
両方の言語で、これは文字のリストを定義します。
CJamでは、$
並べ替えが行われるため、になりabc
ます。
Gaiaでは$
、リストを1つの文字列に結合し、を与えcba
ます。
//\
interface a{static void main(String[]s){System.out.print("abc"/*
main(){{puts("cba"/**/);}}
Java 8で試してみてください-結果は「abc」です。
Cで試してみてください-「cba」になります。
説明:
//\
interface a{static void main(String[]s){System.out.print("abc"/*
main(){{puts("cba"/**/);}}
As you can see in the Java-highlighted code above, the first line is a comment due to //
, and the C-code is a comment due to /* ... */
, resulting in:
interface a{static void main(String[]s){System.out.print("abc");}}
//\
interface a{static void main(String[]s){System.out.print("abc"/*
main(){{puts("cba"/**/);}}
Not sure how to correctly enable C-highlighting, because lang-c
results in the same highlighting as Java.. But //\
will comment out the next line, which is the Java-code, resulting in:
main(){{puts("cba");}}
print('abc'[::int(1/2*4)-1])
In Python 2 int(1/2*4)-1
evaluates to -1
and so prints cba
. - TiO
In Python 3 it evaluates 1
so prints abc
. - TiO
#include<stdio.h>
main(){puts(sizeof('x')>1?"abc":"cba");}
78 bytes, thanks to challenger5.
58 bytes, thanks to aschepler.
56 bytes, thanks to hvd
#ifdef
s to make a single one. 2) You can remove the space in #include <stdio.h>
. 3) You can change printf("%s",
to puts(
. Try it online!
sizeof('x')>1?"abc":"cba"
trick.
sizeof
's operand does not need parentheses, it's not a function.
cat("abc")#u@o;o;o(;
For R, cat("abc")
then shameless abuse of comments.
For Cubix
c a
t (
" a b c " ) # u
@ o ; o ; o ( ;
. .
. .
"abc"
Pushs a, b ad c onto the stack)#
Increment the c, pushs number of element in stacku
U-turn to the right;(
Remove the count, Decrement the co;o;o@
Output cba and exitPushs the number on in stack
cat(
is totally ignored by Cubix.
print('abc'[::-(1/2>0)|1])
print('abc'[::-(1/2>0)|1])
25-byte version with exit
instead, which outputs to STDERR instead.
This is basically the same as print('abc'[::[1,-1][1/2>0]])
, just that it's golfed.
"abc"&&ov
; oo<
These languages are very similar, as Ly is based off ><>. However, Ly does not have 2D execution and interprets &
differently, which I took advantage of here.
Both languages will start by pushing abc
to the stack.
For ><>, the &
instruction moves values to and fro the register. Two in a row will push a value to the register and then take it straight back, essentially a NOP.
For Ly, &
is a modifier that makes an instruction perform its function on the entire stack.
o
means the same thing for both languages, but since it is modified by &
in Ly, it will print the whole stack, outputting abc
. In ><>, it will only output c
(as it is printed from the top down)
v
is a NOP in Ly, which skips it and goes straight to ;
, ending execution. ><> will instead treat it as a pointer, sending the IP downwards.
It then hits another arrow, sending the IP left. Here, it meets two o
signs, outputting b
and a
.
EDIT: Saved a byte (and fixed ><> crashing)
;
to the second line. This also has the benefit that the ><> IP doesn't wrap around and go through the second line again, which causes an error.
"abc"&&ooo;
? It makes Ly crash, but only after printing "abc".
"abc"&&o!;o<
for 1 extra byte, if you want to avoid crashing.
…CBAžR
Prints ABC
(OP said it was allowed) in 05AB1E and CBA
in 2sable, using the fact that 2sable was similar to 05AB1E but the žR
was added to 05AB1E after 2sable was abandoned.
l
btw.
This works because PHP interprets '0'
(same as the integer number 0
) as being falsy, while JavaScript assumes it is simply a non-empty string which is truthy.
'0'?alert('cba'):print(abc);
This is meant to run with -r
on PHP. In Javascript, just paste it in the console.
Thanks to @Justin Mariner for saving me 1 byte!
"0"
instead of +![]
: it becomes 0
(falsy) in PHP and is a string (truthy) in JS.
+![]?print(abc):alert('cba');
-> "0"?alert('cba'):print(abc);
using the -r
flag,
PHP sees die(abc)
and a comment, and since the compiler is forgiving, it outputs abc
as a string instead of an empty variable.
Brainf*ck only sees the instruction characters, and the rest is seen as comments.
die(abc);#--[----->+<]>---.-.-.
Try it online! (PHP)
Try it online! (Brainf*ck)
-r
if'a'=="a""abc"else"cba"end
In Octave, both 'a'
and "a"
represent the same string, therefore 'a'=="a"
is true. However, in Julia, 'a'
is a single character while "a"
is a one-character string. In Julia, "cba"
is the output.
Ungolfed version:
if 'a'=="a"
"abc"
else
"cba"
end
print'abc'.reverse
print
s cba
as we're calling .reverse
on the string.
print'abc'.reverse
print
s abc
concatenated with the result of reverse
which by default works on $_
which is empty and so makes no difference.