พิมพ์ไบต์ที่ป้อนล่าสุด


12

ท้าทาย

คุณมีหนึ่งไบต์ของอินพุตไบต์ส่งออกไบต์สุดท้ายในนั้น

กฎระเบียบ

การส่งของคุณอาจเป็นโปรแกรมหรือฟังก์ชั่นที่ส่งออกไบต์สุดท้ายในอินพุตที่

  • เป็นอาร์กิวเมนต์สตริง, stdinหรือ command-line และ
  • ไม่ว่างเปล่า

ฉันพยายามที่จะแก้ปัญหานี้ด้วย brainfuck แต่ทุกภาษาได้รับอนุญาตให้เข้าร่วม นี่คือรหัสกอล์ฟ

ตัวอย่าง

"?" -> "?"
"29845812674" -> "4"

แคตตาล็อก

สแต็คส่วนย่อยที่ด้านล่างของโพสต์นี้สร้างแคตตาล็อกจากคำตอบ a) เป็นรายการคำตอบสั้นที่สุดต่อภาษาและ b) เป็นลีดเดอร์บอร์ดโดยรวม

เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้:

## Language Name, N bytes

ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในบรรทัดแรกโดยการตีพวกเขาผ่าน ตัวอย่างเช่น

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

หากคุณต้องการรวมหลายตัวเลขไว้ในส่วนหัวของคุณ (เช่นเนื่องจากคะแนนของคุณคือผลรวมของสองไฟล์หรือคุณต้องการแสดงรายการการลงโทษการตั้งค่าสถานะของล่ามแยกต่างหาก) ตรวจสอบให้แน่ใจว่าคะแนนจริงเป็นตัวเลขสุดท้ายในส่วนหัว:

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

คุณยังสามารถทำให้ชื่อภาษาเป็นลิงก์ซึ่งจะปรากฏในตัวอย่างข้อมูล:

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


4
ยินดีต้อนรับฉันเปลี่ยนคำถามของคุณเพื่อให้เหมาะสมกับรูปแบบของเรามากขึ้น (โปรดทราบว่านี่คือสิ่งที่sandbox ใช้สำหรับโดยทั่วไป) อย่างไรก็ตามในสถานะปัจจุบันความท้าทายนั้นง่ายมาก (เช่นใน bf) ดังนั้นจึงไม่แน่ใจเกี่ยวกับสิ่งนั้น
ბიმო

11
ฉันลงคะแนนคัดค้าน มันอาจจะเป็นเรื่องเล็กน้อย แต่ไม่ได้ทำให้เป็นที่นิยม
MilkyWay90

1
@MillyWay ฉันคิดว่าคะแนนโหวตที่ใกล้เคียงกันส่วนใหญ่อยู่ก่อนการแก้ไขโดยბიოო
Sanchises

9
@ ბიНოเรามีความเห็นเป็นเอกฉันท์ที่จะไม่แก้ไขคำถามนอกหัวข้อเพื่อทำให้เป็นหัวข้อที่ฉันคิดว่าน่าจะนำไปใช้
Laikoni

2
สตริงประเภทใด มันรับประกันว่าจะเป็น ASCII เท่านั้นหรือไม่ หรือเราควรจัดการกับ UTF-8 (และอย่างไร)?
FireCubez

คำตอบ:


11

ทูตขนาด 4 ไบต์

Last

ลองออนไลน์! (หากอินพุตอาจเป็นรายการของตัวละคร&/Sก็สามารถใช้งานได้)

ทางเลือก

5 ไบต์: `@&-1

8 ไบต์: &/S@List

10 ไบต์: `@«_,-1»

10 ไบต์: Fold!Right

10 ไบต์: `@<~_,-1~>

10 ไบต์: `^^&:Right

10 ไบต์: {Right^^_}

11 ไบต์: Get«_,-1»

11 ไบต์: Get<~_,-1~>

12 ไบต์: `@«_,#_-1»

12 ไบต์: `@<~_,#_-1~>

13 ไบต์: Get«_,#_-1»

13 ไบต์: Get<~_,#_-1~>


4
: | wtf มีตัวเลือกมากมาย
เฉพาะ ASCII

1
@ ASCII เพียงอย่างเดียวฉันสามารถทำสิ่งที่ท้าทายง่าย ๆ เช่นนี้: p
Conor O'Brien

พิมพ์Lastไบต์อินพุต เนื้อหาของโปรแกรมเหมาะสมกับความท้าทาย
MilkyWay90

11

รหัสเครื่อง x86-16, 2 ไบต์

ในฐานะที่เป็น @CodyGray อย่างถูกต้องชี้ให้เห็นการป้อนข้อมูลเป็นสตริงและเอาท์พุทไปที่การลงทะเบียนเอาจำนวนมากของรุ่นโปรแกรมแบบสแตนด์อโลน

สตริงอินพุตอยู่ในSI, ความยาวCXและอักขระเอาต์พุตอยู่ในAL:

F3 AC  REPZ LODSB      ; start at memory location pointer in SI, put next value in AL,
                       ; loop CX number of times. The last char will be in AL when done.

หรือ4 ไบต์เป็น "สตริงปาสกาล" (ความยาวจะถูกนำเสนอต่อการเริ่มต้นของสตริง):

AC     LODSB           ; first byte is string length
91     XCHG AX, CX     ; move length to CX for loop 
F3 AC  REPZ LODSB      ; start at memory location pointer in SI, put next value in AL,
                       ; loop CX number of times. The last char will be in AL when done.

หรือ5 ไบต์เป็น "สตริง C" (สิ้นสุด / ศูนย์ / null) ใส่ในDI:

F2 AE     REPNZ SCASB     ; scan for value in AL (0), end when found and advance DI
8A 45 FE  MOV AL, [DI-2]  ; DI is now two bytes ahead of last, put value of DI-2 into AL

รหัสเครื่อง x86-16, IBM PC DOS, 12 11 10 ไบต์

หรือโปรแกรมที่สมบูรณ์เช่นเดียวกับ IBM PC DOS ที่สามารถเรียกทำงานได้ อินพุตจากบรรทัดคำสั่งเอาต์พุตคือคอนโซล

B3 80   MOV  BL, 80H            ; BX to DOS PSP at 80H 
8A 07   MOV  AL, BYTE PTR[BX]   ; get command line tail length 
D7      XLAT                    ; AL = [BX+AL] 
B4 0E   MOV  AH, 0EH            ; PC BIOS write to screen function  
CD 10   INT  10H                ; display  
C3      RET                     ; exit to DOS

เอาท์พุท:

ป้อนคำอธิบายรูปภาพที่นี่


แม้ว่าสิ่งนี้จะได้รับคะแนนสไตล์แน่นอนจากมุมมองของนักเล่นกอล์ฟที่เข้มงวด แต่ก็คุ้มค่าที่จะสังเกตว่าคุณได้รับอนุญาตให้เขียนฟังก์ชั่นที่ส่งคืนผลลัพธ์ในรีจิสเตอร์ ดังนั้นสิ่งนี้จะสั้นลงมาก คุณสามารถกำจัด 4 ไบต์ได้เล็กน้อยและการเขียนซ้ำอาจทำให้ขนาดลดลงไปอีก โดยวิธีการที่หน้าจอจาก emulator ที่? อันไหน?
โคดี้เกรย์

@CodyGray โอ้รหัสที่จะนำเข้าจากบรรทัดคำสั่งและผลลัพธ์ไปยังคอนโซลเกือบทั้งหมดของมัน ใช่ฉันอาจพูดว่า "อินพุตสตริงเข้าSIความยาวของCXเอาต์พุตถ่านอยู่ในAL" จากนั้นฉันคิดว่าโค้ดเดียวที่จำเป็นคือREPZ LODSB(2 ไบต์) และเราจะทำเสร็จ แน่นอนว่าวิธีการนี้จะไม่เป็นอย่างที่คุณทำถ้าคุณเขียนโปรแกรมเพื่อประสิทธิภาพไม่ใช่ขนาด ประเด็นของคุณถูกนำมาเป็นอย่างดีแม้ว่าฉันจะโพสต์มันเป็นฟังก์ชั่นที่ทำหน้าที่เนื้องาน
640KB

7

Brainf ***, 7 ไบต์

,[>,]<.

ideone.com/XoJLD0 มันยังใช้งานไม่ได้ (
jean

@jean ลองมันนี่ (จริงๆแล้วฉันไม่รู้ด้วยซ้ำว่า BF ทำตัวเหมือนใคร)
SuperJedi224

ใช่ในลิงค์ของคุณทุกอย่างทำงานได้ดี แต่ผู้ตัดสินออนไลน์สำหรับปัญหานี้ใช้ ideone ในที่ที่มันไม่ทำงาน (
jean

@jean ideone ดูเหมือนจะใช้-1เป็น EOF +[>,+]<-.ควรทำงาน
Jo King

@Jo King ขออภัย แต่ดูเหมือนว่าอินพุตจะเป็น: 29845812674 [enter] [EOF] ฉันจะพิมพ์ตัวเลขสุดท้ายได้อย่างไร
jean

7

MATL, 2 ไบต์

0)

MATL ใช้การทำดัชนีแบบแยกส่วนที่ใช้ 1 การแก้ปัญหานี้จึงคว้าองค์ประกอบใน 0ตำแหน่งที่ -th ของอินพุตซึ่งเป็นค่าเดียวกันกับค่าสุดท้ายนับตั้งแต่การ0ล้อมรอบไปจนถึงจุดสิ้นสุด

ลองที่ MATL Online

คำอธิบาย

    % Implicitly grab the input
0   % Push the literal 0 to the stack
)   % Use this zero to grab the character at the end of the string
    % Implicitly display the result

ฉันจะไปเพื่อJ)...
Sanchises


5

Javascript ขนาด 14 ไบต์

a=>a.slice(-1)

ฉันพยายามที่ดีที่สุดของฉันที่จะหาวิธีที่สั้น แต่ที่แปลกใจของฉันฉันไม่คิดว่านี้สามารถปรับปรุงได้จนกว่าจะมีวิธีที่ขี้ขลาดที่จะย้อนกลับสตริงในอายุต่ำกว่า 8 [0]ไบต์ก่อนที่จะโทร หรือบางทีถ้ามีวิธีสั้น ๆ เพื่อให้ได้ความยาวของอาร์เรย์ วิธีการที่แตกต่าง: a=>[...a].pop()(15bytes)
Matsyir

4

Python 3 , 14 ไบต์

lambda x:x[-1]

ลองออนไลน์!


ฉันรู้สึกเป็นใบ้คุณจะเรียกสิ่งนี้ได้อย่างไรโดยไม่ต้องประกาศให้เป็นตัวแปร
Nathan Dimmer

ฉันดู TIO ของคุณ แต่มันก็ไม่สมเหตุสมผลนัก ... คุณกำลังทำอะไรอยู่ในหัวของคุณ?
Nathan Dimmer

1
@Bobawob สำหรับคำถามแรกของคุณคุณสามารถใช้ lambdas แบบไม่ระบุชื่อเพื่อรับคำตอบได้ (ฉันเรียกมันว่าใช้โดยการกำหนดแลมบ์ดาให้กับตัวแปรeในส่วนหัว) สำหรับคำถามที่สองของคุณส่วนหัวคือe=\ ซึ่งโดยทั่วไปหมายถึงe=lambda x:x[-1]
MilkyWay90

โปรดทราบว่าในความคิดเห็นข้างต้นของฉันไม่ควรมีช่องว่างต่อท้ายในe=\ แต่ Markdown หนีอักขระรหัสดังนั้นฉันต้องเพิ่มช่องว่างท้าย
MilkyWay90

มันเจ๋งจริงๆ! ขอบคุณ!
Nathan Dimmer


4

TI-BASIC (TI-84), 10 ไบต์

sub(Ans,length(Ans),1

รับอักขระตัวสุดท้ายในสตริงอินพุต การป้อนข้อมูลที่อยู่ใน
เอาต์พุตอยู่ในและพิมพ์ออกมาโดยอัตโนมัติAns
Ans




3

Java 8

อินพุตจาก STDIN, 71 ไบต์

v->{int i=0;for(;System.in.available()>0;i=System.in.read());return i;}

ลองออนไลน์!

อาร์กิวเมนต์ของฟังก์ชัน 25 ไบต์

s->s.charAt(s.length()-1)

คุณสามารถเพิ่มรหัสเพื่อให้โปรแกรมอาร์กิวเมนต์มีทั้งสามตัวเลือก :) OP ที่แย่เกินไปถามถึง Strings ไม่เช่นs->s[s.length-1]นั้นจะเพียงพอกับประเภทchar[]พารามิเตอร์
Kevin Cruijssen

61 ไบต์
Olivier Grégoire


3

Cubix , 6 ไบต์

pA/@po

ลองออนไลน์!

  p
A / @ p
  o

ดูมันทำงาน

  • A รับอินพุตทั้งหมด
  • / เปลี่ยนเส้นทางรอบลูกบาศก์
  • pp นำก้นของสแต็คขึ้นด้านบนสองครั้ง
  • o/@ เอาท์พุทเป็นตัวละครเปลี่ยนเส้นทางและหยุด

3

Befunge-93 , 12 15ไบต์

:1+_p1-,@>~#

ลองออนไลน์!

ขอบคุณ @Jo King สำหรับการเล่นกอล์ฟขนาด 3 ไบต์

เลือกรุ่น 15 ไบต์ที่ยุ่งน้อย:

~:1+#v!_
  @,$<

การใช้สตริงเป็นอินพุตใน Befunge ไม่ใช่วิธีที่ง่ายที่สุด หากมีคำสั่งเดียวที่ใช้เป็นอักขระหลายตัวมันจะง่ายเหมือนการอ่านสตริงการ popping / การพิมพ์อักขระบนสุดและออก


ที่จริงแล้ว$$แทนที่จะp1ทำงานโดยไม่มีการเตือนสำหรับจำนวนไบต์เท่ากัน
Jo King

3

เครื่องจักรทัวริง แต่แย่กว่า , 391 ไบต์

1 0 1 1 0 0 0
0 0 0 1 1 0 0
1 1 1 1 0 0 0
0 1 0 1 2 0 0
1 2 1 1 0 0 0
0 2 0 1 3 0 0
1 3 1 1 0 0 0
0 3 0 1 4 0 0
1 4 1 1 0 0 0
0 4 0 1 5 0 0
1 5 1 1 0 0 0
0 5 0 1 6 0 0
1 6 1 1 0 0 0
0 6 0 1 7 0 0
1 7 1 1 0 0 0
0 7 0 1 8 0 0
1 8 1 1 0 0 0
0 8 0 0 9 0 0
0 9 0 0 a 0 0
0 a 0 0 b 0 0
0 b 0 0 c 0 0
0 c 0 0 d 0 0
0 d 0 0 e 0 0
0 e 0 0 f 0 0
0 f 0 0 h 0 0
0 h 0 0 g 0 0
0 g 0 0 0 1 1
1 g 1 0 0 1 1

ลองออนไลน์!

คำอธิบาย

Detect eight zero bits (which will occur at the end of the input, since TMBWW uses an infinite tape of bits.)
1 1 1 1 0 0 0
0 1 0 1 2 0 0
1 2 1 1 0 0 0
0 2 0 1 3 0 0
1 3 1 1 0 0 0
0 3 0 1 4 0 0
1 4 1 1 0 0 0
0 4 0 1 5 0 0
1 5 1 1 0 0 0
0 5 0 1 6 0 0
1 6 1 1 0 0 0
0 6 0 1 7 0 0
1 7 1 1 0 0 0
0 7 0 1 8 0 0
1 8 1 1 0 0 0
0 8 0 0 9 0 0

-------------

When eight 0 bits are detected, move back to the final byte of the input and print it out while halting the program.
0 9 0 0 a 0 0
0 a 0 0 b 0 0
0 b 0 0 c 0 0
0 c 0 0 d 0 0
0 d 0 0 e 0 0
0 e 0 0 f 0 0
0 f 0 0 h 0 0
0 h 0 0 g 0 0
0 g 0 0 0 1 1
1 g 1 0 0 1 1

3

เยลลี่ 1 ไบต์

ลองออนไลน์!

ไม่ใช่ความท้าทายที่ยากที่สุดใน Jelly ...

หมายเหตุสิ่งนี้ยอมรับอินพุตเป็นสตริง หากอินพุตสามารถตีความได้เป็นอย่างอื่น (เช่นตัวเลขรายการ) อาร์กิวเมนต์จะต้องมีการเสนอราคา (เช่น "123456" หรือ "[123,197]") อีกวิธีหนึ่งนี้สามารถเห็นได้ว่าเป็นลิงค์ที่ใช้อาร์เรย์ไบต์และส่งกลับสมาชิกสุดท้ายของอาร์เรย์นั้นเป็นไปตามกฎมาตรฐาน PPCG

ขอขอบคุณ @ MilkyWay90 และ @ ბიزოที่ชี้เรื่องนี้ออกมา


-1 ล้มเหลวสำหรับหมายเลขใด ๆ ( tio.run/##y0rNyan8///hzlX///83MTY1NjE1MQYA )
MilkyWay90

@ MilkyWay90: ไม่จำเป็นต้องเป็นโปรแกรมเต็มรูปแบบบางทีนี่อาจจะเป็นฟังก์ชั่นเยลลี่ที่ใช้เป็นสตริง แต่แล้วอีกครั้งฉันไม่รู้จักเจลลี่ดังนั้นฉันอาจผิด
ბიმო

โอเคฉันจะลองดูว่ามันจะทำงานเป็นลิงก์หรือไม่
MilkyWay90

@ ბიოოดูเหมือนจะทำงาน (OP คุณสามารถแก้ไขคำตอบเพื่อให้ฉันสามารถยกเลิก downvote ของฉันได้อย่างไร)
MilkyWay90

คุณสามารถกำหนด T เป็นลิงค์และทำให้มันเป็นสตริงได้โดยไม่จำเป็นต้องใส่ "" ในอินพุตของคุณ
MilkyWay90


3

เรียงซ้อนขนาด 9 ไบต์

?a|,
;.]^

ค่อนข้างมีความสุขกับสิ่งนี้เพราะมันยาวกว่าโปรแกรมแมวของฉันเพียง 3 ไบต์

ขยาย

   ?
  ^;.
 | |a
 ] |
a ,|

นี่เป็นเพียงการวนลูปผ่านการป้อนอักขระลงในaสแต็กจนกว่าจะถึง EOF จากนั้นมันจะออกผลลัพธ์รายการที่ด้านบนของสแต็คโดยใช้a.a

ลองออนไลน์!





2

Twig, 37 ไบต์

สิ่งนี้ใช้เพียงแค่ "แยก 1 อักขระถ่านจากจุดสิ้นสุดและพิมพ์" aproach

{%macro a(a)%}{{a[-1:1]}}{%endmacro%}

มันง่ายมากที่จะทำและทดสอบ แต่สนุกดี!


ในการใช้งานคุณจะต้องวางมันลงบน.twigไฟล์และนำเข้ามัน:

{% import 'a.twig' as a %}
{{ a.a("string") }} {# should display "g" #}

คุณสามารถทดสอบได้ที่https://twigfiddle.com/aa19wd (รวมชุดทดสอบ)


ตกลงนั่นเป็นครั้งแรกที่ฉันเห็นทวิกกอล์ฟ
Ven

@Ven ฉันทำไปซักพักแล้ว นี่คือตัวอย่าง: codegolf.stackexchange.com/a/174040และนี่คืออีกอันหนึ่ง: codegolf.stackexchange.com/a/166800 (ฉันมีอีกไม่กี่คน แต่อย่างดี)
Ismael Miguel


2

อารมณ์ 5 ไบต์

😶👉😃😨👿

คำอธิบาย

😶 Push a copy of the first stack value.
👉 Push the length of the first stack value interpreted as a string.
😃 Push literal 1
😨 Push the difference of the second and first stack values.
👿 Push the character of the second stack value at the index of the top stack value.

ลองออนไลน์!


ใน readme ของคุณ 1. ฉันคิดว่า "กับอีโมจิ" ควรเป็น "จากอิโมจิ" 2. ถ้าเป็น "อิโมจิ" ถ้าอย่างนั้นอิโมติโนมิกและอิโมจิโคดก็เป็นเรื่องที่เรียบร้อยแล้ว
ASCII-only

จริงๆแล้วสิ่งที่คุณกำลังมองหาคือเอาท์พุทจากคอมไพเลอร์ซึ่งสามารถเข้าถึงได้ผ่านอินเทอร์เฟซออนไลน์
Quantum64

อีโมจิแต่ละตัวมีมากกว่าหนึ่งไบต์ไม่ใช่หรือ ฉันคิดว่าอย่างน้อยพวกเขาก็ต้องเป็นสองไบต์
Kyle Delaney

อารมณ์ใช้หน้ารหัสที่กำหนดเอง ดูquantum64.github.io/EmotionBuilds/1.1.0//…
JPeroutek

2

VBA (Excel), 14 12 ไบต์

ใช้หน้าต่างและเซลล์ทันที A1เป็นอินพุต

ขอบคุณ @tsh

?[RIGHT(A1)] หรือ ?Right([A1],1)


1
เป็น1ตัวเลือกหรือไม่?
TSH

ไม่ได้อยู่ในรหัสที่สอง ขอบคุณ :)
remoel

2

Python 3 11 18 34 ไบต์

import sys;print(sys.argv[-1][-1])

การใช้งานผ่านการรันโปรแกรมเป็นสคริปต์หลามบนบรรทัดคำสั่ง อินพุตถูกจัดเตรียมไว้เป็นอาร์กิวเมนต์สุดท้ายของโปรแกรม

ลองออนไลน์!


สิ่งนี้ไม่ได้พิมพ์อะไรหรือส่งคืนสิ่งใด ๆ จากฟังก์ชั่น - ไม่อนุญาตให้ใช้ตัวอย่างข้อมูลเฉพาะฟังก์ชั่นหรือโปรแกรมแบบเต็ม
Stephen

อาฉันเห็นแล้วไม่ได้คิดถึงเรื่องนั้นเมื่อฉันคิดคำตอบ คิดเพียงเกี่ยวกับการใช้งานมันในล่าม
Mrwerdo




2

สูตร IBM / Lotus Notes ขนาด 11 ไบต์

@Right(i;1)

สูตรฟิลด์ที่คำนวณได้รับอินพุตจากฟิลด์ที่แก้ไขได้ i

ป้อนคำอธิบายรูปภาพที่นี่


2

รหัสเครื่องทัวริง, 72 42 ไบต์

ถือว่าอินพุตโดยไม่มีเซลล์ว่าง (ช่องว่าง) ขอบคุณ ASCII-only สำหรับการบันทึก 30 ไบต์

0 * * r 1
1 * * l 2
1 _ _ l halt
2 * _ r 0

รุ่นเก่าใน 72 ไบต์:

0 * * r 0
0 _ * l 1
1 * * l 2
2 * _ l 2
2 _ _ r 3
3 _ _ r 3
3 * * * halt

ลองมันออนไลน์


1
0 * * r 1/1 * * l 2/1 _ _ l halt/2 * _ r 0?
ASCII เท่านั้นเท่านั้น

oi กรุณาตอบกลับ: ||
ASCII เท่านั้นเท่านั้น

จะไม่ทำงานในทางใด ฉันได้ทำการทดสอบออนไลน์
เฉพาะ ASCII เท่านั้น

@ ASCII-only มันกลับกลายเป็นว่าคุณพูดถูกและฉันก็ตีความผิด ๆ ว่าโปรแกรมของคุณใช้งานได้จริง ฉันคิดว่ามันแตกต่างกันพอที่คุณสามารถโพสต์เป็นคำตอบที่แตกต่างกันถ้าคุณต้องการ
SuperJedi224

นี่เป็นความท้าทายที่เรียบง่ายอย่าคิดว่ามันต้องมีคำตอบมากกว่าหนึ่งคำในภาษาใด ๆ : P
เท่านั้น

2

C # 8.0 , 8 ไบต์

ต้องใช้. NET Core 3.0 ซึ่งเป็นรุ่นเบต้า สิ่งนี้ทำให้เกิดปัญหา CLR เนื่องจากข้อผิดพลาด แต่เมื่อมีการแก้ไขข้อผิดพลาดนี้จะทำงานตามที่คาดไว้และตอบสนองความต้องการของความท้าทาย

s=>s[^1]

C # 8.0ทำงานโดยไม่หยุดทำงานในขณะเขียน 22 ไบต์

s=>s.ToCharArray()[^1]

C # 8.0โปรแกรมเต็มรูปแบบ 78 ไบต์

using C=System.Console;class A{static void Main(){C.Write(C.ReadLine()[^1]);}}


ความท้าทายกล่าวถึง "เอาท์พุท" ดังนั้นทางออกสุดท้ายน่าจะเป็นทางออกที่ถูกต้อง
Ven

Dang, คุณ outdid คอนโซลคำตอบของฉันมาก ^ 1 ทำงานอย่างไร
Stackstuck

มันเป็นประเภทดัชนีใหม่ การเริ่มต้นดัชนีด้วยคาเร็ตบ่งชี้ว่ามันมาจากจุดสิ้นสุดเช่นarray[^n]เดียวกับarray[array.Length - n]
Arcanox

! ที่น่าสนใจ ฉันพยายามอยู่เสมอด้วยคุณสมบัติใหม่ C # คุณมีลิงค์ / ข้อมูลอ้างอิงเกี่ยวกับเรื่องนี้ไหม?
mortb

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.