การเขียนโปรแกรม

คำถาม & คำตอบสำหรับโปรแกรมเมอร์มืออาชีพและกระตือรือร้น

18
วิธีการแปลง NSString เป็น NSNumber
ฉันสามารถแปลงNSStringที่มีจำนวนชนิดของข้อมูลใด ๆ ดั้งเดิม (เช่นint, float, char, unsigned intฯลฯ )? ปัญหาคือฉันไม่ทราบว่าหมายเลขชนิดใดที่สตริงจะมีเวลารันไทม์ ฉันมีความคิดว่าจะทำอย่างไร แต่ฉันไม่แน่ใจว่าสิ่งนี้ใช้ได้กับทุกประเภทหรือไม่และยังไม่ได้ลงนามและค่าจุดลอยตัว: long long scannedNumber; NSScanner *scanner = [NSScanner scannerWithString:aString]; [scanner scanLongLong:&scannedNumber]; NSNumber *number = [NSNumber numberWithLongLong: scannedNumber]; ขอบคุณสำหรับความช่วยเหลือ

21
การใช้สมุดบันทึก IPython ภายใต้การควบคุมเวอร์ชัน
กลยุทธ์ที่ดีในการรักษาโน้ตบุ๊กIPython ให้อยู่ในการควบคุมเวอร์ชัน รูปแบบสมุดบันทึกค่อนข้างคล้อยตามสำหรับการควบคุมเวอร์ชัน: หากต้องการควบคุมเวอร์ชันโน้ตบุ๊กและเอาท์พุตสิ่งนี้จะทำงานได้ค่อนข้างดี ความรำคาญเกิดขึ้นเมื่อเราต้องการควบคุมการป้อนข้อมูลเฉพาะรุ่นไม่รวมเอาท์พุทของเซลล์ (aka. "build products") ซึ่งอาจเป็น blobs ไบนารีขนาดใหญ่โดยเฉพาะอย่างยิ่งสำหรับภาพยนตร์และแปลง โดยเฉพาะอย่างยิ่งฉันพยายามหาเวิร์กโฟลว์ที่ดีที่: อนุญาตให้ฉันเลือกระหว่างการรวมหรือไม่รวมเอาต์พุต ป้องกันฉันจากการส่งออกโดยไม่ตั้งใจถ้าฉันไม่ต้องการ ช่วยให้ฉันสามารถเก็บเอาท์พุทในรุ่นท้องถิ่นของฉัน อนุญาตให้ฉันดูเมื่อฉันมีการเปลี่ยนแปลงในอินพุตโดยใช้ระบบควบคุมเวอร์ชันของฉัน (เช่นถ้าฉันควบคุมเฉพาะอินพุตเท่านั้น แต่ไฟล์ในเครื่องของฉันมีเอาต์พุตฉันต้องการจะดูว่าอินพุตมีการเปลี่ยนแปลงหรือไม่ ) การใช้คำสั่งสถานะการควบคุมเวอร์ชันจะลงทะเบียนความแตกต่างเสมอเนื่องจากไฟล์ในเครื่องมีเอาต์พุต) อนุญาตให้ฉันอัปเดตสมุดบันทึกการทำงานของฉัน (ซึ่งมีเอาต์พุต) จากสมุดบันทึกที่อัปเดตที่สะอาดแล้ว (update) ตามที่กล่าวไว้ถ้าฉันเลือกที่จะรวมเอาท์พุท (ซึ่งเป็นที่ต้องการเมื่อใช้nbviewerเป็นต้น) ทุกอย่างก็โอเค ปัญหาคือเมื่อฉันไม่ต้องการรุ่นควบคุมผลลัพธ์ มีเครื่องมือและสคริปต์บางอย่างสำหรับการลอกเอาต์พุตของโน้ตบุ๊ก แต่บ่อยครั้งที่ฉันพบปัญหาต่อไปนี้: ฉันส่งเวอร์ชันโดยไม่ตั้งใจด้วยเหตุนี้จึงทำให้ที่เก็บข้อมูลของฉันสกปรก ฉันลบเอาต์พุตเพื่อใช้การควบคุมเวอร์ชัน แต่จะเก็บเอาท์พุทไว้ในเครื่องของฉัน (บางครั้งใช้เวลานานในการสร้างตัวอย่าง) สคริปต์บางตัวที่ดึงเอาท์พุทเปลี่ยนรูปแบบเล็กน้อยเมื่อเทียบกับCell/All Output/Clearตัวเลือกเมนูดังนั้นจึงสร้างเสียงรบกวนที่ไม่พึงประสงค์ในส่วนต่าง นี่คือคำตอบบางคำตอบ เมื่อดึงการเปลี่ยนแปลงไปยังไฟล์เวอร์ชั่นใหม่ทั้งหมดฉันต้องหาวิธีที่จะรวมการเปลี่ยนแปลงเหล่านั้นไว้ในสมุดบันทึกการทำงานของฉันโดยไม่ต้องรันใหม่ทุกอย่าง (update) ฉันได้พิจารณาตัวเลือกหลายอย่างที่ฉันจะกล่าวถึงด้านล่าง แต่ยังไม่พบวิธีแก้ปัญหาที่ครอบคลุมดี โซลูชันที่สมบูรณ์อาจต้องการการเปลี่ยนแปลงบางอย่างกับ IPython หรืออาจต้องพึ่งพาสคริปต์ภายนอกแบบง่าย ๆ ตอนนี้ฉันใช้Mercurialแต่ต้องการโซลูชันที่ทำงานร่วมกับgit ได้ : ทางออกที่ดีที่สุดคือการควบคุมแบบไม่เชื่อเรื่องพระเจ้า ปัญหานี้มีการพูดคุยหลายครั้ง …

22
อะไรคือ "ระดับสุดท้าย" ใน Java?
ฉันกำลังอ่านหนังสือเกี่ยวกับ Java และมันบอกว่าคุณสามารถประกาศทั้งชั้นfinalได้ ฉันไม่สามารถคิดถึงสิ่งที่ฉันจะใช้สิ่งนี้ ฉันเพิ่งใหม่กับการเขียนโปรแกรมและฉันสงสัยว่าโปรแกรมเมอร์ใช้สิ่งนี้กับโปรแกรมของพวกเขาหรือไม่หรือไม่ ถ้าพวกเขาทำพวกเขาจะใช้เมื่อใดฉันจึงสามารถเข้าใจได้ดีขึ้นและรู้ว่าควรใช้เมื่อไร ถ้า Java เป็นเชิงวัตถุและคุณประกาศคลาสfinalมันจะไม่หยุดความคิดของคลาสที่มีคุณสมบัติของวัตถุหรือไม่
569 java  final 

30
จะสร้าง Android Spinner ด้วยข้อความเริ่มต้น“ Select One” ได้อย่างไร?
ฉันต้องการใช้สปินเนอร์ที่เริ่มต้น (เมื่อผู้ใช้ยังไม่ได้ทำการเลือก) จะแสดงข้อความ "เลือกหนึ่ง" เมื่อผู้ใช้คลิกสปินเนอร์รายการของรายการจะปรากฏขึ้นและผู้ใช้เลือกหนึ่งในตัวเลือก หลังจากที่ผู้ใช้ทำการเลือกรายการที่เลือกจะปรากฏในสปินเนอร์แทน "เลือกหนึ่ง" ฉันมีรหัสต่อไปนี้เพื่อสร้างสปินเนอร์: String[] items = new String[] {"One", "Two", "Three"}; Spinner spinner = (Spinner) findViewById(R.id.mySpinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); ด้วยรหัสนี้ในขั้นต้นรายการ "หนึ่ง" จะปรากฏขึ้น ฉันสามารถเพิ่มรายการใหม่ "เลือกหนึ่งรายการ" ลงในรายการ แต่จากนั้น "เลือกหนึ่งรายการ" ก็จะปรากฏในรายการแบบเลื่อนลงเป็นรายการแรกซึ่งไม่ใช่สิ่งที่ฉันต้องการ ฉันจะแก้ไขปัญหานี้ได้อย่างไร

10
วิธีการตั้งค่าไดเรกทอรีการทำงานปัจจุบันไปยังไดเรกทอรีของสคริปต์หรือไม่
ฉันกำลังเขียนสคริปต์ทุบตี ฉันต้องการไดเรกทอรีการทำงานปัจจุบันเป็นไดเรกทอรีที่สคริปต์ตั้งอยู่เสมอ พฤติกรรมเริ่มต้นคือไดเรกทอรีการทำงานปัจจุบันในสคริปต์เป็นของเชลล์ที่ฉันเรียกใช้ แต่ฉันไม่ต้องการพฤติกรรมนี้
569 bash  path  scripting 


12
C ++:“ std :: endl” กับ“ \ n”
หนังสือ C ++ หลายเล่มมีรหัสตัวอย่างเช่นนี้ ... std::cout << "Test line" << std::endl; ... ดังนั้นฉันก็ทำเช่นนั้นเสมอ แต่ฉันเห็นรหัสจำนวนมากจากนักพัฒนาที่ทำงานเช่นนี้แทน: std::cout << "Test line\n"; มีเหตุผลทางเทคนิคหรือไม่ที่จะเลือกอย่างใดอย่างหนึ่งหรือเป็นเรื่องของรูปแบบการเข้ารหัสหรือไม่?

22
วิธีเปิด Google Play Store โดยตรงจากแอปพลิเคชัน Android ของฉัน
ฉันเปิดร้านค้า Google Play โดยใช้รหัสต่อไปนี้ Intent i = new Intent(android.content.Intent.ACTION_VIEW); i.setData(Uri.parse("https://play.google.com/store/apps/details?id=my packagename ")); startActivity(i);. แต่มันแสดงให้ฉันเห็นมุมมองการกระทำที่สมบูรณ์เพื่อเลือกตัวเลือก (เบราว์เซอร์ / ร้านเล่น) ฉันต้องเปิดแอปพลิเคชันใน Play Store โดยตรง




12
คำหลัก "ใหม่" ของ JavaScript ถือเป็นอันตรายหรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา อีกคำถามผู้ใช้ชี้ให้เห็นว่าคำหลักที่เป็นอันตรายต่อการใช้งานและนำเสนอวิธีการแก้ปัญหาในการสร้างวัตถุที่ไม่ได้ใช้งานnew newฉันไม่เชื่อว่าเป็นเรื่องจริงส่วนใหญ่เป็นเพราะฉันใช้ Prototype, Scriptaculous และไลบรารี่ JavaScript ที่ยอดเยี่ยมอื่น ๆ และทุกคนใช้newคีย์เวิร์ด เมื่อวานนี้ฉันดูการพูดคุยของ Douglas Crockford ที่โรงละคร YUI และเขาพูดอย่างเดียวกันว่าเขาไม่ได้ใช้newคำหลักในรหัสของเขาอีกต่อไป ( Crockford บน JavaScript - Act III: Function the Ultimate - 50:23 นาที ) การใช้newคำหลักนั้น "ไม่ดี" หรือไม่ ข้อดีและข้อเสียของการใช้มันคืออะไร?
568 javascript 

17
ฉันจะส่งคำขอ POST ข้ามโดเมนผ่าน JavaScript ได้อย่างไร
ฉันจะส่งคำขอ POST ข้ามโดเมนผ่าน JavaScript ได้อย่างไร หมายเหตุ - ไม่ควรรีเฟรชหน้าเว็บและฉันจำเป็นต้องคว้าและแยกการตอบสนองในภายหลัง

18
ทำไม __init __ () ถูกเรียกหลังจาก __new __ () เสมอ?
ฉันแค่พยายามที่จะปรับปรุงการหนึ่งในชั้นเรียนของฉันและได้แนะนำฟังก์ชันการทำงานบางอย่างในรูปแบบเดียวกับรูปแบบการออกแบบฟลายเวท แต่ฉันบิตสับสนว่าทำไมถึงอยู่เสมอเรียกว่าหลังจาก__init__ __new__ฉันไม่ได้คาดหวังสิ่งนี้ ทุกคนสามารถบอกฉันได้ว่าทำไมสิ่งนี้ถึงเกิดขึ้นและฉันจะใช้ฟังก์ชันนี้ได้อย่างไร? (นอกเหนือจากการนำการติดตั้งไปใช้__new__ซึ่งรู้สึกแฮ็คค่อนข้างมาก) นี่คือตัวอย่าง: class A(object): _dict = dict() def __new__(cls): if 'key' in A._dict: print "EXISTS" return A._dict['key'] else: print "NEW" return super(A, cls).__new__(cls) def __init__(self): print "INIT" A._dict['key'] = self print "" a1 = A() a2 = A() a3 = A() ขาออก: NEW INIT EXISTS INIT …

6
นักเทียบท่าวิธีการเปลี่ยนชื่อที่เก็บหรือเปลี่ยนชื่อภาพ?
ฉันพยายามเปลี่ยนชื่อที่เก็บรูปภาพ: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE server latest d583c3ac45fd 26 minutes ago 685.5 MB ดังนั้นฉันต้องการเปลี่ยนชื่อserverเป็นmyname/serverดังนี้: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE myname/server latest d583c3ac45fd 26 minutes ago 685.5 MB ฉันจะทำสิ่งนี้ได้อย่างไร

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